Python OS模块文件路径操作实战指南
本文深入解析Python中os模块的核心功能,涵盖获取当前路径、列举目录、路径拆分与拼接、提取文件名与目录名、判断文件属性及获取文件大小等常用操作。通过具体代码示例,展示各函数的实际用法与返回值特征,帮助开发者高效处理文件路径相关任务。
获取当前工作目录与列举文件
在自动化测试或文件处理场景中,首先需要明确当前脚本运行的位置以及目标目录下的内容。os模块提供了获取当前工作目录和列举目录下所有文件的便捷方法。
查看当前路径
使用os.getcwd()可以获取当前脚本执行的绝对路径。这在调试或构建相对路径时非常有用。
import os
print(os.getcwd())列举目录内容
os.listdir(path)用于列出指定目录下的所有文件和子目录,返回一个列表类型的结果。如果未指定路径,默认列出当前目录。
import os
print(os.listdir("c:\file"))路径处理:绝对路径、拆分与拼接
路径操作是文件处理的核心。os.path子模块提供了处理路径字符串的多种工具,包括获取绝对路径、拆分路径以及拼接路径。
获取绝对路径
os.path.abspath(path)将相对路径转换为绝对路径。例如,传入.(当前目录)会返回当前工作目录的绝对路径。
import os
print(os.path.abspath("."))拆分路径
os.path.split(path)将路径字符串拆分为“目录部分”和“文件名部分”,返回一个元组。需要注意以下细节:
- 若路径字符串最后一个字符是
\,则只有文件夹部分有值,文件名部分为空。 - 若路径字符串中均无
\,则只有文件名部分有值,文件夹部分为空。 - 若路径字符串有
\且不在最后,则文件夹和文件名都有值。 - 返回的结果中不包含路径分隔符
\。
示例代码展示了不同路径格式下的拆分结果:
import os
print(os.path.split(r"D:\python\file\hello.py"))
print(os.path.split("."))
print(os.path.split('D:\\pythontest\\ostest\\'))拼接路径
os.path.join(path1, path2, ...)用于将多个路径字符串组合成一个完整路径。如果其中一个参数是绝对路径,则之前的所有路径参数都会被丢弃,从该绝对路径开始拼接。
import os
print(os.path.join(r"d:\python\test", 'hello.py'))
print(os.path.join(r"d:\pyhton\test\hello.py", r"d:\pyhton\test\hello2.py"))提取目录名与文件名
除了拆分路径,还可以单独提取路径中的目录部分或文件名部分。
获取目录名
os.path.dirname(path)返回路径中的文件夹部分,返回值不包含末尾的路径分隔符。如果路径没有目录部分(如.或纯文件名),则返回空字符串。
import os
print(os.path.dirname(r"d:\pyhton\test\hello.py"))
print(os.path.dirname("."))
print(os.path.dirname(r"d:\pyhton\test\"))
print(os.path.dirname(r"d:\pyhton\test"))获取文件名
os.path.basename(path)返回路径中的文件名部分。如果路径以分隔符结尾,则返回空字符串;如果路径没有文件名部分(如纯目录路径),则返回最后一部分目录名。
import os
print(os.path.basename(r"d:\pyhton\test\hello.py"))
print(os.path.basename("."))
print(os.path.basename(r"d:\pyhton\test\"))
print(os.path.basename(r"d:\pyhton\test"))文件属性判断与大小获取
在实际操作中,经常需要判断文件是否存在、是文件还是目录,以及获取文件大小。
判断文件存在性
os.path.exists(path)用于判断指定路径是否存在。如果存在返回True,否则返回False。
import os
print(os.path.exists(r"d:\python\test\hello.py"))
print(os.path.exists(r"d:\python\test\hello1.py"))判断是否为目录或文件
os.path.isdir(path)判断路径是否为目录,os.path.isfile(path)判断路径是否为文件。这两个函数常用于在操作前进行类型校验。
import os
print(os.path.isdir(r"C:\Users\zhangjiao\PycharmProjects\day01"))
print(os.path.isdir(r"C:\Users\zhangjiao\PycharmProjects\day01\hello.py"))
print(os.path.isfile(r'C:\360用户文件'))
print(os.path.isfile(r'C:\core.dmp'))获取文件大小
os.path.getsize(path)用于获取文件的大小(字节)。需要注意的是,如果传入的是目录路径,该函数返回0。
import os
print(os.path.getsize(r"d:\pyhton\test\hello.py"))
print(os.path.getsize(r"d:\pyhton\test"))以上就是Python OS模块在文件路径操作中的详细内容,更多关于Python文件处理与自动化测试的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













