zoukankan      html  css  js  c++  java
  • python IO编程

    IO编程

      IO在计算机中指的是input/output,其中的输入输出是以CPU为对象来讲的,由于CPU和内存的速度远高于外设的速度,所以在IO编程中,就存在着严重的速度不匹配问题。解决这个问题有两种思路:

      一是让CPU和内存等待着外设,这种成为同步IO,另一种是CPU不等待,继续执行下面的代码,这种称为异步IO。他们的区别就在于是否等待IO执行的结果。很明显使用异步IO来编写程序的性能远高于同步IO,但是异步IO的缺点是编程模型复杂。想想看,你得知道什么时候通知你“汉堡做好了”,而通知你的方法也各不相同。如果是服务员跑过来找到你,这是回调模式,如果服务员发短信通知你,你就得不停地检查手机,这是轮询模式。总之,异步IO的复杂度远远高于同步IO。

     


    操作文件和目录

      可以再命令行中使用操作系统提供的命令来操作文件和目录,而再程序中进行这样的操作本质上也只是调用操作系统提供的接口,Python内置的os模块可以直接调用操作系统提供的接口

    >>>import os 
    >>>os.name#查看操作系统的类型'nt'代表的windows
    >>>os.uname()查看操作系统的详细信息,再windows不提供
    

    os.listdir( )获取当前路径下所有文件目录和文件名

      操作文件和目录的函数一部分在os模块中,一部分则在os.path中

    # 查看当前目录的绝对路径:
    >>> os.path.abspath('.')
    '/Users/michael'
    # 在某个目录下创建一个新目录,首先把新目录的完整路径表示出来
    >>> os.path.join('/Users/michael', 'testdir')#只是合成路径,并不要直接拼接字符串,这样可以处理不同操作系统的路径分隔符
    '/Users/michael/testdir'
    # 然后创建一个目录:
    >>> os.mkdir('/Users/michael/testdir')
    # 删掉一个目录:
    >>> os.rmdir('/Users/michael/testdir')
    

      只是合成路径,并不要直接拼接字符串,而是调用os.path.join(),这样可以处理不同操作系统的路径分隔符,拆分路径使用os.path.split(),会把最后一个给分割出来

    >>> os.path.split('/Users/michael/testdir/file.txt')
    ('/Users/michael/testdir', 'file.txt')
    

    os.path.splitext()可以直接让你得到文件扩展名

    这些合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作。

    os.path.isdir()判断是否是个目录

    文件操作

    # 对文件重命名:
    >>> os.rename('test.txt', 'test.py')
    # 删掉文件:
    >>> os.remove('test.py')
    

      

      创建文件,在open()中如果文件不存在,就会创建

    复制文件

      复制文件由shutil模块提供的copyfile()函数,这个模块提供其他一些非常使用的操作,可以作为对os模块的补充

      

    环境变量

      操作系统中定义的环境变量可以通过os.environ变量访问,可以通过os.environ.get('key')获取某个变量的值

  • 相关阅读:
    Android在代码中获取应用签名
    Android之密码的显示与隐藏
    如何把本地项目上传到Github
    Android之移动热修复
    Android之apk优化
    Android之内存泄漏
    Java类加载顺序
    mysql系列-⼀条SQL查询语句是如何执⾏的?
    java操作redis(jedis)常用方法示例
    mybatis拦截器实现通用权限字段添加
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/10562670.html
Copyright © 2011-2022 走看看