• 【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

    请添加图片描述

  • 相关阅读:
    docker搭建本地仓库
    【优选算法系列】第一节.滑动窗口(209. 长度最小的子数组和3. 无重复字符的最长子串)
    怎么使用MATLAB编辑图像,使得细节放大
    生成式AI新篇章:亚马逊云科技助力重塑数字未来
    Spring Cloud(十四):微服务灰度发布 --- Discovery
    神经网络如何识别图像,神经网络和图神经网络
    【代码精读】optee的异常向量表
    上采样方式(反卷积、插值、反池化)
    Vue控制textarea可输入行数限制-案例
    浅谈一下:Java当作数组的几个应用场景
  • 原文地址:https://blog.csdn.net/Goodric/article/details/126191207