os.path模块常用方法运用

本文详细介绍了Python中os.path模块的常用方法及其应用场景,包括路径操作、文件属性获取等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python os.path模块常用方法详解(1)

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html


  1. 1.os.path.abspath(path)   
  2. 返回path规范化的绝对路径。   
  3.    
  4. >>> os.path.abspath('test.csv')   
  5. 'C:\\Python25\\test.csv'   
  6.    
  7. >>> os.path.abspath('c:\\test.csv')   
  8. 'c:\\test.csv'   
  9.    
  10. >>> os.path.abspath('../csv\\test.csv')   
  11. 'C:\\csv\\test.csv'   
  12.    
  13. 2.os.path.split(path)  

将path分割成目录和文件名二元组返回。


  1. >>> os.path.split('c:\\csv\\test.csv')   
  2. ('c:\\csv', 'test.csv')   
  3. >>> os.path.split('c:\\csv\\')   
  4. ('c:\\csv', '')   
  5.    
  6. 3.os.path.dirname(path)  

返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。


  1. >>> os.path.basename('c:\\test.csv')   
  2. 'test.csv'   
  3. >>> os.path.basename('c:\\csv')   
  4. 'csv' (这里csv被当作文件名处理了)   
  5. >>> os.path.basename('c:\\csv\\')   
  6. ''   
  7.    
  8. 5.os.path.commonprefix(list)  

返回list中,所有path共有的最长的路径。

如:


  1. >>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])   
  2. '/home/td'   
  3.    
  4. 6.os.path.exists(path)  

如果path存在,返回True;如果path不存在,返回False。


  1. >>> os.path.exists('c:\\')   
  2. True   
  3. >>> os.path.exists('c:\\csv\\test.csv')   
  4. False   
  5.    
  6. 7.os.path.isabs(path)  

如果path是绝对路径,返回True。


  1. 8.os.path.isfile(path)  

如果path是一个存在的文件,返回True。否则返回False。


  1. >>> os.path.isfile('c:\\boot.ini')   
  2. True   
  3. >>> os.path.isfile('c:\\csv\\test.csv')   
  4. False   
  5. >>> os.path.isfile('c:\\csv\\')   
  6. False   
  7. os.path.isdir(path)

python os.path模块常用方法详解(2)

如果path是一个存在的目录,则返回True。否则返回False。


 
  1. >>> os.path.isdir('c:\\')   
  2. True   
  3. >>> os.path.isdir('c:\\csv\\')   
  4. False   
  5. >>> os.path.isdir('c:\\windows\\test.csv')   
  6. False   
  7.    
  8. 10.os.path.join(path1[, path2[, ...]])  

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。


 
  1. >>> os.path.join('c:\\', 'csv', 'test.csv')   
  2. 'c:\\csv\\test.csv'   
  3. >>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv')   
  4. 'c:\\csv\\test.csv'   
  5. >>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')   
  6. '/home/aa/bb/c'   
  7.    
  8. 11.os.path.normcase(path)  

在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。


 
  1. >>> os.path.normcase('c:/windows\\system32\\')   
  2. 'c:\\windows\\system32\\'   
  3.    
  4. 12.os.path.normpath(path)  

规范化路径。


 
  1. >>> os.path.normpath('c://windows\\System32\\../Temp/')   
  2. 'c:\\windows\\Temp'   
  3.    
  4. 12.os.path.splitdrive(path)  

返回(drivername,fpath)元组。


 
  1. >>> os.path.splitdrive('c:\\windows')   
  2. ('c:', '\\windows')   
  3.    
  4. 13.os.path.splitext(path)  

分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作。


 
  1. >>> os.path.splitext('c:\\csv\\test.csv')   
  2. ('c:\\csv\\test', '.csv')   
  3.    
  4. 14.os.path.getsize(path)  

返回path的文件的大小(字节)。


 
  1. >>> os.path.getsize('c:\\boot.ini')   
  2. 299L   
  3.    
  4. 15.os.path.getatime(path)  

返回path所指向的文件或者目录的最后存取时间。


 
  1. 16.os.path.getmtime(path) 

任务描述 本关任务:使用 Python 中的 os 模块处理文件。 相关知识 本关将介绍 Python 的 os 模块中的常用函数以及 os.path 模块,完成本关任务需要使用到其中一部分。 os模块常用函数 os 模块简单的来说它是一个 Python 的系统编程的操作模块,可以通过代码来处理文件和目录。假设我们在 Linux 系统中有一个 py 文件,其路径为:/root/edu/test.py。 getcwd():返回当前的工作目录。 import os print(os.getcwd()) 执行结果: /root/edu chdir(path):改变当前工作目录到指定的路径。path 表示要切换到的新目录。如果允许访问返回 True,否则返回 False。 import os print(os.chdir("/root/coder")) # 将文件切换到 /root/coder 目录下 print(os.getcwd()) 执行结果: True /root/coder listdir(path):返回指定路径下的文件和文件夹列表。path 表示路径。不指定 path 则表示当前路径。 import os print(os.listdir()) # 当前文件路径下只有一个test.py文件 执行结果: ["test.py"] mkdir(path):创建单层目录,如该目录已存在则抛出异常。 makedirs(path):递归创建多层目录,如该目录已存在抛出异常。 remove(path):删除文件。 rmdir(path):删除单层目录,如果该目录非空则抛出异常。 removedirs(path):递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常。 rename(old,new):将文件 old 重命名为 new。 import os rename("test.py","change.py") # 将当前目录下得test.py修改为change.py print(os.listdir()) 执行结果: ["change.py"] os.system(command):运行系统的 shell 命令,command 表示 shell 命令。 import os os.system('date') # 相当于在命令行中输入date os.system('ls -al') # 相当于在命令行中输入ls -al 如果想更加了解 os 模块以及 os.path 的应用,建议在本地环境中使用下列函数。 os.path 模块 下表是 os.path 模块中的常用方法方法 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonprefix(list) 返回 list(多个路径) 中,所有 path 共有的最长的路径 os.path.dirname(path) 返回文件路径 os.path.exists(path) 路径存在则返回 True,路径损坏返回 False os.path.lexists 路径存在则返回 True,路径损坏也返回 True os.path.expanduser(path) 路径中包含的"~"和"~user"转换成用户目录 os.path.expandvars(path) 根据环境变量的值替换 path 中包含的"$name"和"${name}" os.path.getatime(path) 返回最近访问时间(浮点型秒数) os.path.getmtime(path) 返回最近文件修改时间 os.path.getctime(path) 返回文件 path 创建时间 os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误 os.path.isabs(path) 判断是否为绝对路径 os.path.isfile(path) 判断路径是否为文件 os.path.isdir(path) 判断路径是否为目录 os.path.islink(path) 判断路径是否为链接 os.path.ismount(path) 判断路径是否为挂载点 os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径 os.path.normcase(path) 转换 path 的大小写和斜杠 os.path.normpath(path) 规范 path 字符串形式 os.path.realpath(path) 返回 path 的真实路径 os.path.relpath(path[, start]) 从 start 开
04-28
习-Python文件之目录访问本关任务:使用 Python 中的 os 模块处理文件。 相关知识 本关将介绍 Python 的 os 模块中的常用函数以及 os.path 模块,完成本关任务需要使用到其中一部分。 os模块常用函数 os 模块简单的来说它是一个 Python 的系统编程的操作模块,可以通过代码来处理文件和目录。假设我们在 Linux 系统中有一个 py 文件,其路径为:/root/edu/test.py。 getcwd():返回当前的工作目录。 import os print(os.getcwd()) 执行结果: /root/edu chdir(path):改变当前工作目录到指定的路径。path 表示要切换到的新目录。如果允许访问返回 True,否则返回 False。 import os print(os.chdir("/root/coder")) # 将文件切换到 /root/coder 目录下 print(os.getcwd()) 执行结果: True /root/coder listdir(path):返回指定路径下的文件和文件夹列表。path 表示路径。不指定 path 则表示当前路径。 import os print(os.listdir()) # 当前文件路径下只有一个test.py文件 执行结果: ["test.py"] mkdir(path):创建单层目录,如该目录已存在则抛出异常。 makedirs(path):递归创建多层目录,如该目录已存在抛出异常。 remove(path):删除文件。 rmdir(path):删除单层目录,如果该目录非空则抛出异常。 removedirs(path):递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常。 rename(old,new):将文件 old 重命名为 new。 import os rename("test.py","change.py") # 将当前目录下得test.py修改为change.py print(os.listdir()) 执行结果: ["change.py"] os.system(command):运行系统的 shell 命令,command 表示 shell 命令。 import os os.system('date') # 相当于在命令行中输入date os.system('ls -al') # 相当于在命令行中输入ls -al 如果想更加了解 os 模块以及 os.path 的应用,建议在本地环境中使用下列函数。 os.path 模块 下表是 os.path 模块中的常用方法方法 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonprefix(list) 返回 list(多个路径) 中,所有 path 共有的最长的路径 os.path.dirname(path) 返回文件路径 os.path.exists(path) 路径存在则返回 True,路径损坏返回 False os.path.lexists 路径存在则返回 True,路径损坏也返回 True os.path.expanduser(path) 路径中包含的"~"和"~user"转换成用户目录 os.path.expandvars(path) 根据环境变量的值替换 path 中包含的"$name"和"${name}" os.path.getatime(path) 返回最近访问时间(浮点型秒数) os.path.getmtime(path) 返回最近文件修改时间 os.path.getctime(path) 返回文件 path 创建时间 os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误 os.path.isabs(path) 判断是否为绝对路径 os.path.isfile(path) 判断路径是否为文件 os.path.isdir(path) 判断路径是否为目录 os.path.islink(path) 判断路径是否为链接 os.path.ismount(path) 判断路径是否为挂载点 os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径 os.path.normcase(path) 转换 path 的大小写和斜杠 os.path.normpath(path) 规范 path 字符串形式 os.path.realpath(path) 返回 path 的真实路径 os.path.relpath(path[, start]) 从 start 开始计算相对路径 os.path.samefile(path1, path2) 判断目录或文件是否相同 os.path.sameopenfile(fp1, fp2) 判断 fp1 和 fp2 是否指向同一文件 os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组 os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组 os.path.splitunc(path) 把路径分割为加载点与文件 os.path.walk(path, visit, arg) 遍历 path,进入每个目录都调用 visit 函数,visit 函数必须有 3 个参数(arg, dirname, names),dirname 表示当前目录的目录名,names 代表当前目录下的所有文件名,args 则为 walk 的第三个参数 os.path.supports_unicode_filenames 设置是否支持 unicode 路径名 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,按照提示在 Begin-End 之间编写程序代码。具体要求如下: 打印当前的工作目录; 打印当前目录下的所有文件以及文件夹的列表。 注意:因为每个学员开启的实训工作路径不一致,所以本关采用的是末尾匹配。 测试说明 平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧 “测试结果”区查看具体的测试集详情。 测试输入: 无 预期输出: /data/workspace/myshixun_1095093/pvnf6l7arq20200303111509 ['.git', 'src'] 开始你的任务吧,祝你成功!
最新发布
05-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值