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')获取某个变量的值

  • 相关阅读:
    5 个 Composer 小技巧
    【XRefreshView】打造android万能上拉下拉刷新框架(转载)
    109、FragmentPagerAdapter与FragmentStatePagerAdapter区别
    【动画特效】炫酷动画搜集
    108、【特效】30行代码,打造一个垂直+横向的 双向 ViewPager (转载)
    【特效】Tab --- 标题切换 SmartTabLayout、MagicIndicator
    Mac添加环境变量的三种方法
    107、4种必须知道的Android屏幕自适应解决方案(转载)
    106、抗锯齿方法paint.setAntiAlias(ture);paint.setFilterBitmap(true))
    Android Studio 统计项目的代码总行数(转载)
  • 原文地址:https://www.cnblogs.com/Gaoqiking/p/10562670.html
Copyright © 2011-2022 走看看