Python --- os模块

作者: 2023开始学 | 来源:发表于2019-05-05 20:16 被阅读0次

    Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中。

    在Python程序中如何操作目录和文件?有两种方法:

    (1)操作系统提供的一些命令,只是简单地调用了操作系统提供的接口函数

    (2)Python内置的os模块,也可以直接调用操作系统提供的接口函数

    -分类---------------------------方法、函数------------------作用
    -操作系统---------------------os.name----------------------查看操作系统类型
    ----------------------------------os.uname( )函数------------操作系统详细信息
    -环境变量---------------------os.environ--------------------环境变量
    ----------------------------------os.environ.get('key')-------某个环境变量的值
    -操作文件、目录------------os.getcwd( )------------------获取当前目录
    ----------------------------------os.listdir( )--------------------目录列表
    ----------------------------------os.mkdir( )--------------------创建文件、目录
    ----------------------------------os.rmdir( )---------------------删除文件、目录
    ----------------------------------os.chdir( )---------------------改变默认目录
    ----------------------------------shutil.copyfile( )--------------复制文件
    -文件重命名、删除---------os.rename( )------------------文件重命名
    ----------------------------------os.remove( )------------------文件删除
    -os.path模块-----------------os.path.abspath( )-----------绝对路径
    ----------------------------------os.path.join( )-----------------重组路径
    -os.path下拆分路径--------os.path.split( )-----------------拆分路径
    ----------------------------------os.path.splitext( )-------------拆分路径的扩展名
    -os.path下判断函数--------os.path.isdir( )-----------------判断目录
    ----------------------------------os.path.isfile( )----------------判断文件

    操作系统

    os.name :操作系统类型,如果是nt,就是Windows系统;如果是posix,说明系统是Linux、Unix或Mac OS X

    os.uname( )函数:获取详细的系统信息。

    注意:uname( )函数在Windows上不提供,即,os模块的某些函数是跟操作系统相关的。

    环境变量

    os.environ:操作系统中定义的环境变量,全部保存在os.environ这个变量中。可以看做是一个字典dict,

    os.environ.get( ' key ' ):获取某个环境变量的值(可看做,字典dict中根据key值获取对应的value值),注意:key要用引号引起来

    操作文件和目录

    操作文件和目录的函数,一部分放在os模块中,一部分放在os.path模块中,这点需要注意。

    os.getcwd方法:获取当前目录

    import os
    os.getcwd( )
    

    os.listdir( )方法:获取目录列表,即返回指定的路径下包含的文件或文件夹的名字的列表。只支持在Unix、Windows系统使用。
    例如,获取当前路径下的子目录列表

    import os
    os.listdir("./")
    

    os.mkdir方法:创建文件、目录

    import os
    os.mkdir("张三")
    

    os.rmdir方法:删除文件夹、目录
    例如,删除当前路径下的“张三”目录

    import os
    os.rmdir("张三")
    

    os.chdir方法:改变默认目录
    例如,将当前目录改编为上一级目录

    import os
    os.chdir("../")
    
    复制文件:shutil模块的copyfile( )函数

    os模块中没有复制文件的函数,原因是:复制文件并非由操作系统提供的系统调用。理论上,通过读写文件可以完成文件复制,只不过要多写很多代码。

    shutil模块提供了copyfile( )函数,还可以在shutil模块中找到很多实用函数,可以看做是os模块的补充。

    文件的重命名和删除

    os.rename( src, dst ) :src:需要修改的文件名, dst :修改后的新文件名

    os.remove( path ):path:指定路径下的文件

    os.path模块

    os.path.abspath(' . '):查看当前目录的绝对路径
    os.path.join(path, 新目录名 ):把创建目录之后的最终目录路径效果表示出来,然后创建目录路径和删除目录路径时,把这个最终效果当做参数即可
    os.mkdir(path):可以在path路径中查看创建的新目录

    小结

    1、路径分隔符,最好使用/, // , \,尽量不用\,转义符也是这个符号,有时正常,有时运行错误

    2、把两个路径合成一个时,不要自己直接拼写出目录路径,而要通过os.path.join( )函数,这样可以正确处理不同操作系统的路径分隔符。

            在Linux/Unix/Mac下,os.path.join( )返回结果:part-1/part-2
    
            在Windows下,os.path.join( )返回结果:part-1\part-2
    

    3、同样的道理,拆分路径时,也不要直接去拆字符串,而要通过os.path.split( )函数

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

    拆分路径

    os.path.split( ):可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名
    os.path.splitext( ):用来获取文件扩展名,即文件后缀名

    print(os.path.split("E:\Test\testdir\悯农.txt"))
    print(os.path.splitext("E:\\Test\\悯农.txt"))
    

    判断目录、文件

    os.path.isdir( ) 函数:判断某一路径是否为目录

    os.path.isdir(path)
    

    os.path.isfile( ) 函数:判断某一路径是否为文件

    os.path.isfile(path)
    

    相关文章

      网友评论

        本文标题:Python --- os模块

        本文链接:https://www.haomeiwen.com/subject/ushkoqtx.html