• 【21天学习挑战赛】Python学习第三篇:os 标准库


    ​【21天学习挑战赛】Python学习第三篇:os 标准库

    活动地址:CSDN21天学习挑战赛

    ——

    介绍

    os模块提供了多数操作系统的功能接口函数。
    当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作。

    功能

    系统相关变量和操作
    文件和目录相关操作
    路径相关操作

    ——

    一、系统相关变量和操作

    os.name 的使用

    返回操作系统类型:Windows 返回nt; Linux 返回posix

    import os
    print(os.name)
    
    • 1
    • 2

    请添加图片描述

    ——

    os.environ的使用

    返回系统的环境变量

    import os
    print(os.environ)
    
    • 1
    • 2

    环境变量,即在 "计算机"属性,“高级设置”,"环境变量中"可进行查看或编辑。
    请添加图片描述

    import os
    print(os.environ.get('PATH'))
    
    • 1
    • 2

    通过key值获取环境变量对应的value值。
    请添加图片描述

    ——

    os.sep的使用

    返回用于系统路径的分隔符;Windows系统通过是 \ , Linux类系统如Ubuntu的分隔符是/

    import os
    print(os.sep)
    
    • 1
    • 2

    这里给的Windows系统是 \ ,在编程过程中 \ 好像会被转义,我似乎习惯于/
    请添加图片描述

    ——

    os.linesep的使用

    返回文件换行的分隔符

    import os
    print(os.linesep)
    
    • 1
    • 2

    我这里python3运行结果是一篇空白的,没有显示字符。应该是换行符 '\r\n'
    请添加图片描述

    ——

    os.getcwd的使用

    返回当前工作的目录路径,即正在运行的这个python文件的路径。

    import os
    print(os.getcwd())
    
    • 1
    • 2

    请添加图片描述

    ——

    二、文件和目录相关操作

    os.listdir(path)的使用

    返回指定目录下的所有文件和目录名。在需要对一个文件夹下所有文件进行操作的情况下可使用,比如读取某一文件夹下所有文件的文件内容。

    import os
    print(os.listdir("."))
    
    • 1
    • 2

    "."表示当前路径,也可以查看其它路径的文件,比如上一级路径,用"../"
    请添加图片描述

    ——

    os.mkdir(path)的使用

    创建一个目录,只创建一个目录文件。

    import os
    os.mkdir(r"E:/desktop/test")
    
    • 1
    • 2

    执行代码后,在桌面就创建一个 test 文件夹。
    请添加图片描述

    ——

    os.rmdir(path)的使用

    删除个空目录。 若目录中有文件则无法删除。

    删除刚刚创建的test 文件夹

    import os
    os.rmdir(r"E:/desktop/test")
    
    • 1
    • 2

    ——

    os.remove(path) 的使用

    删除path指定的文件,不能删除文件夹

    import os
    
    print(os.listdir(r"E:/desktop/test"))
    os.remove(r"E:/desktop/test/1.txt")
    print("删除后的目录文件:")
    print(os.listdir(r"E:/desktop/test"))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    请添加图片描述

    ——

    os.makedirs(dirname) 的使用

    可以生成多层递归目录。如果目录全部存在,则创建目录失败。

    import os
    
    print(os.listdir(r"E:/desktop/test"))
    os.makedirs(r"E:/desktop/test/test1/test2")
    print(os.listdir(r"E:/desktop/test"))
    print(os.listdir(r"E:/desktop/test/test1"))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    原本test 目录下没有文件夹,然后我用os.makedirs创建了多级目录,即原本test文件夹下只有一个2.txt文件,通过创建多了test1文件夹,test1文件夹下还有test2文件夹。
    请添加图片描述

    ——

    os.removedirs(dirname) 的使用

    可以删除多层递归的空目录,若目录中有文件则无法删除

    import os
    
    print(os.listdir(r"E:/desktop/test"))
    os.removedirs(r"E:/desktop/test/test1/test2")
    print(os.listdir(r"E:/desktop/test"))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    test1文件夹删除了,test1里面的test2文件夹也删除了。
    请添加图片描述

    ——

    os.chdir(path) 的使用

    切换当前工作的目录路径

    import os
    
    print(os.getcwd())
    os.chdir(r"E:/desktop/test")
    print(os.getcwd())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    执行之后并不是说文件移动到其它目录路径了,文件还是在原地址。
    暂时还不知道这个功能具体用在什么地方。
    请添加图片描述

    ——

    os.rename(旧文件名,新文件名) 的使用

    重命令名目录名或者文件名。重命名后的文件名已存在,则重命名失败。

    import os
    
    print(os.listdir(r"E:/desktop/test"))
    os.rename(r"E:/desktop/test/2.txt",r"E:/desktop/test/3.txt")
    print(os.listdir(r"E:/desktop/test"))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    将2.txt重命名为3.txt
    请添加图片描述

    ——

    三、路径相关操作

    os.path.getsize(path) 的使用

    获得文件大小,输出字节,如果name是目录返回0L

    import os
    print(os.path.getsize(r"E:/desktop/test/3.txt"))
    print(os.path.getsize(r"E:/desktop/test"))
    
    • 1
    • 2
    • 3

    请添加图片描述

    ——

    os.path.getctime(path) 的使用

    获取文件创建时候的时间戳

    import os
    print(os.path.getctime(r"E:/desktop/test/3.txt"))
    
    • 1
    • 2

    请添加图片描述

    ——

    os.path.getatime(path) 的使用

    获取文件最后修改时候的时间戳

    import os
    print(os.path.getatime(r"E:/desktop/test/3.txt"))
    
    • 1
    • 2

    请添加图片描述

    ——

    os.path.join(path,name) 的使用

    连接目录与文件名或目录

    import os
    print(os.path.join(r"E:\desktop\test","3.txt"))
    
    • 1
    • 2

    请添加图片描述

    ——

    os.path.exists(path) 的使用

    判断文件或者目录是否存在。存在则返回True;否则返回False

    import os
    print(os.path.exists(r"E:\desktop\test\3.txt"))
    print(os.path.exists(r"E:\desktop\test\2.txt"))
    
    • 1
    • 2
    • 3

    请添加图片描述

    ——

    os.path.isfile(path) 的使用

    判断是否为文件。是文件则返回True;否则返回False

    import os
    print(os.path.isfile(r"E:\desktop\test\3.txt"))
    print(os.path.isfile(r"E:\desktop\test"))
    
    • 1
    • 2
    • 3

    3.txt是文件,test是文件夹
    请添加图片描述

    ——

    os.path.isdir(path) 的使用

    判断是否为目录。是目录则返回True,否则返回False

    import os
    print(os.path.isdir(r"E:\desktop\test\3.txt"))
    print(os.path.isdir(r"E:\desktop\test"))
    
    • 1
    • 2
    • 3

    请添加图片描述

  • 相关阅读:
    使用set_handler过滤掉特定的SystemC Wraning &Error Message
    linux下常用命令
    数字颠倒输出
    Error: error:0308010C:digital envelope routines::unsupported
    VRPTW(MATLAB):斑马优化算法ZOA求解带时间窗的车辆路径问题VRPTW(提供参考文献及MATLAB代码)
    c# winform 实际操作XML代码,包括创建、保存、查询、删除窗体演示
    vue获取本地缓存并转为json格式
    树莓派之树莓派系统安装
    三层架构图解
    Android学习笔记 4. ImageView
  • 原文地址:https://blog.csdn.net/Goodric/article/details/126191207