作者主页: Lonelypatients°
作者简介: 人生没有彩排,每一天都是现场直播。
文章目录
- 前言
- 一、OS 简述?
- 二、使用步骤
- 📃1.引入库
- 📃2. os.sep 根据你所处的平台,自动采用相应的分隔符号
- 📃3. os.name 得到你正在使用的工作平台
- 📃4. os.getcwd() 得到当前执行文件的工作目录
- 📃5. os.getenv(key) 读取环境变量
- 📃6. os.putenv(key, value) 设置或更新环境变量
- 📃7. os.listdir(path) 返回指定目录下的所有文件和目录名
- 📃8. os.remove() 删除一个文件
- 📃9. os.stat(fileName) 获得文件属性
- 📃10. os.mkdir(name) 创建目录
- 📃11. os.rmdir(name) 删除目录
- 📃12. os.removedirs(path) 用于递归删除目录
- 📃13. os.system() 运行shell命令
- 📃14. os.exit() 退出进程操作
- 📃15. os.linesep 输出当前操作系统的行终止符
- 📃16. os.path.split() 返回一个路径的目录名和文件名
- 📃17. os.path.isfile(path) 检验给出的路径是否是一个文件路径
- 📃18. os.path.isdir(path) 检验给出的路径是否是一个目录路径
- 📃19. os.path.existe(path) 检验给出的路径是否真的存在
- 📃20. os.curdir 返回当前目录('.')
- 📃21. os.path.getsize(path) 获取文件大小
- 📃22. os.path.abspath(path) 获得绝对路径
- 📃23. os.path.isabs(path) 判断是否为绝对路径
- 📃24. os.path.normpath(path) 规范path字符串形式
- 📃25. os.path.splitext(path) 分离文件名与扩展名称
- 📃26. os.path.join(path,name) 连接目录与文件名或目录
- 📃27. os.path.basename(path) 返回当前文件名
- 📃28. os.path.dirname(path) 返回文件路径
- 总结
前言
本⽂主要简述python中与os模块及os.path模块相关内容,仅供学习分享使⽤,如有不⾜之处,还请指正。
一、OS 简述?
python os模块包含大多数操作系统的功能。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在⽇常⼯作中,经常需要⽤到操作系统,以及⽂件⽬录相关的内容,属于系统运维相关的必备知识点。
二、使用步骤
📃1.引入库
导包:
import os
📃2. os.sep 根据你所处的平台,自动采用相应的分隔符号
"""
os.sep根据你所处的平台,自动采用相应的分隔符号。
场景: 例如windows 的路径为'\', 而Liunx 的路径为'/'
所以为不同系统进行使用特定的路径分隔符。
"""
# 结合join使用不同平台产生不同结果
print(os.sep.join(["c:", "filename", "a.txt"]))
Windows执行结果:
c:\filename\a.txt
Liunx执行结果:
c:/filename/a.txt
📃3. os.name 得到你正在使用的工作平台
"""
os.name 会输出你正在使用的工作平台。
比如对于Windows,它是'nt',
而对于Linux/Unix用户,它是'posix'。
"""
print(os.name)
Windows执行结果:
nt
Liunx/Unix执行结果:
posix
📃4. os.getcwd() 得到当前执行文件的工作目录
"""
os.getcwd() 会得到当前执行文件的工作目录。
"""
print(os.getcwd())
执行结果:
例如执行文件在 C:\Users\Administrator\Desktop\test.py, 那最终输出为:
C:\Users\Administrator\Desktop
📃5. os.getenv(key) 读取环境变量
"""
os.getenv(key) 用来读取环境变量。
"""
print(os.getenv("PATH"))
执行结果:
为你本机配置的key为PATH的 Vaule 值
📃6. os.putenv(key, value) 设置或更新环境变量
"""
os.putenv(key, value) 用来设置或更新环境变量。
"""
os.putenv("PATH", "F:/my_project/go/bin")
所以putenv()
是设置 而 getenv()
是读取
📃7. os.listdir(path) 返回指定目录下的所有文件和目录名
"""
os.listdir(path) 返回指定目录下的所有文件和目录名,结果为 []
"""
print(os.listdir("C:/Users/Administrator/Desktop"))
例如Desktop 存在 一个 a.txt 与 test文件夹, 执行结果为:
["test", "a.txt"]
📃8. os.remove() 删除一个文件
"""
os.remove() 删除一个文件, 没有这个文件 系统返回 FileNotFoundError 错误
"""
os.remove('C:/Users/Administrator/Desktop/a.txt')
📃9. os.stat(fileName) 获得文件属性
"""
os.stat(file) 获得文件属性
"""
file_info = os.stat("C:/Users/Administrator/Desktop/a.txt")
print("索引号:", file_info.st_ino)
print("被连接数目:", file_info.st_dev)
print("文件大小:", file_info.st_size, "字节")
print("最后一次访问时间戳:", file_info.st_atime)
print("最后一次修改时间戳:", file_info.st_mtime)
print("最后一次状态变化的时间戳:", file_info.st_ctime)
执行结果:
索引号: 12103423998866051
被连接数目: 2419826495
文件大小: 2507 字节
最后一次访问时间戳: 1651813508.601222
最后一次修改时间戳: 1651632763.7396147
最后一次状态变化的时间戳: 1650357211.3600857
📃10. os.mkdir(name) 创建目录
"""
os.mkdir(name) 创建目录 若文件目录已存在会抛出FileExistsError异常
"""
os.mkdir("C:/Users/Administrator/Desktop/test")
📃11. os.rmdir(name) 删除目录
"""
os.rmdir(name) 删除目录
若文件目录不存在会抛出FileNotFoundError异常,
若文件目录存在但内存在文件会抛出OSError异常,
"""
os.rmdir("C:/Users/Administrator/Desktop/abc")
📃12. os.removedirs(path) 用于递归删除目录
"""
os.removedirs(path) 方法用于递归删除目录, 若子文件夹刪除成功, 则尝试删除父级文件件, 直到抛出erorr(文件夹内存在文件时,则停止删除)
"""
os.removedirs("C:/Users/Administrator/Desktop/abc")
📃13. os.system() 运行shell命令
"""
os.system() 运行shell命令
"""
os.system("calc") # 调用系统计算器
os.system("cmd") # 调用系统cmd命令行
os.system("mstsc") # 调用远程桌面连接
os.system("mspaint") # 调用画图功能
📃14. os.exit() 退出进程操作
"""
os.exit() 退出进程操作, 不抛异常, 不执行相关清理工作,其后的代码都不执行, 一般用作子进程退出使用
"""
os.exit()
📃15. os.linesep 输出当前操作系统的行终止符
"""
os.linesep 输出当前操作系统的行终止符Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
"""
print(os.linesep)
Windows执行结果:
'\r\n'
Liunx执行结果:
'\n'
Mac使用执行结果:
'\r'
📃16. os.path.split() 返回一个路径的目录名和文件名
"""
os.path.split() 返回一个路径的目录名和文件名 ('C:\\Users\\Administrator\\Desktop', 'a.txt')
"""
print(os.path.split(r"C:\Users\Administrator\Desktop\a.txt"))
"""
执行结果:
('C:\\Users\\Administrator\\Desktop', 'a.txt')
📃17. os.path.isfile(path) 检验给出的路径是否是一个文件路径
检验给出的路径是一个文件路径 为真 返回 True
print(os.path.isfile(r"C:\Users\Administrator\Desktop\\a.txt"))
📃18. os.path.isdir(path) 检验给出的路径是否是一个目录路径
os.path.isdir() 检验给出的路径是一个目录路径 为真 返回 True
"""
print(os.path.isdir(r"C:\Users\Administrator\Desktop"))
📃19. os.path.existe(path) 检验给出的路径是否真的存在
"""
os.path.existe(path) 检验给出的路径是否真的存在 为真 返回 True
"""
print(os.path.exists(r"C:\Users\Administrator\Desktop"))
📃20. os.curdir 返回当前目录(‘.’)
"""
os.curdir 返回当前目录('.')
"""
print(os.curdir)
📃21. os.path.getsize(path) 获取文件大小
"""
os.path.getsize(path) 获取文件大小
该文件无法访问或不存在时抛出OSError异常
"""
print(os.path.getsize(r"C:\Users\Administrator\Desktop\a.txt"))
执行结果:
246451 字节
📃22. os.path.abspath(path) 获得绝对路径
"""
os.path.abspath(path) 获得绝对路径
"""
print(os.path.abspath("a.txt"))
执行结果:
C:\Users\Administrator\Desktop\a.txt
📃23. os.path.isabs(path) 判断是否为绝对路径
"""
os.path.isabs(path) 判断是否为绝对路径 为真 则返回True
"""
print(os.path.isabs(r"C:\Users\Administrator\Desktop\a.txt")) # 判断是否为绝对路径
📃24. os.path.normpath(path) 规范path字符串形式
"""
os.path.normpath(path) 规范path字符串形式,
"""
print(os.path.normpath(r"C:\\Users\.\\Desktop\\\a.txt")) # 规范path字符串形式
执行结果:
C:\Users\Administrator\Desktop\a.txt
📃25. os.path.splitext(path) 分离文件名与扩展名称
"""
os.path.splitext(path) 分离文件名与扩展名称
"""
print(os.path.splitext(" a.txt")) # 分离文件名和扩展名
执行结果 例如: a.txt 结果为:
("a", ".txt")
📃26. os.path.join(path,name) 连接目录与文件名或目录
"""
os.path.join(path,name) 连接目录与文件名或目录
"""
print(os.path.join("C:/Users/Administrator/", "a.txt"))
执行结果:
C:\Users\Administrator\Desktop\a.txt
📃27. os.path.basename(path) 返回当前文件名
"""
os.path.basename(path) 返回文件名
"""
print(os.path.basename(r"C:\Users\Administrator\Desktop\a.txt"))
执行结果:
a.txt
📃28. os.path.dirname(path) 返回文件路径
"""
os.path.dirname(path) 返回文件路径
"""
print(os.path.dirname(r"C:\Users\Administrator\Desktop\a.txt"))
执行结果:
C:\Users\Administrator\Desktop
总结
好了本期就到此结束了,希望对你们有帮助。