• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

一篇文章搞定Python操作文件与目录

python 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

前言

文件和目录操作是很常见的功能,这里做个简单的总结,包括注意事项和实际的实现代码,基本日常开发都够用了

目录操作

判断目录或是文件是否存在

os.path.exists(path)

判断是否是文件或是目录

# 如果文件或是目录不存在也会返回False
os.path.isfile(path)
os.path.isdir(path)

创建/删除目录

os.mkdir(path)
os.rmdir(path)

得到当前的目录名称

os.path.split(dir_path)[1]

这个方法既简单又实用,比如我们输入一个目录路径:

os.path.split('/usr/projects/project1')[1]
# 输出
project1

# 实际上,上面的代码是分了2步走:
# 第1步:利用os.path.split方法分割路径
os.path.split('/usr/projects/project1')
# 输出
('/usr/projects', 'project1')
# 然后第2步取出第2个结果,也就是当前的目录名字

循环遍历目录

循环遍历目录有2种方式,一种是常规的递归方法,类似下面这样:

def list_file(path):
 for file in os.listdir(path):
  if os.path.isdir(os.path.join(path, file)):
   list_file(os.path.join(path, file))
  print(file)

还有一种更好的方式就是用os.walk方法,类似下面这样:

def list_file_by_walk(dir_path):
 for home, dirs, files in os.walk(dir_path):
  print(home)
  print(dirs)
  # files中是文件列表
  for file_name in files:
   print(file_name)

os.walk方法的几个参数简单介绍一下:

  • home:这个是当前遍历的目录,比如说是 /usr/projects/
  • dirs:是这个目录(home目录)下面的所有文件夹(也就是子目录)
  • files:是这个目录(home目录)下所有的文件

所以从上面的参数中可以看出,os.walk方法会逐一地遍历初始目录下面的所有目录和文件

常见的文件操作

跟上面得到目录名类似的是得到文件的后缀

os.path.splitext(file_path)

这个方法如果输入的是文件的路径,比如:

a = '/usr/projects/project1/test.txt'
os.path.splitext(a)
# 输出
('/usr/projects/project1/test', '.txt')
# 所以跟上面类似,我们可以直接拿到文件的后缀
os.path.splite<b>本文来源gao@dai!ma.com搞$代^码!网7</b>xt(a)[1]

文件的全路径

# 需要文件的目录路径和文件名
os.path.join(dir_name, file_name)

这个方法也很有用,因为我们在打开一个文件的时候都需要知道文件的路径

比如在上面循环遍历目录的例子中,我们可以这样打开编辑文件:

def list_file_by_walk(dir_path):
  for home, dirs, files in os.walk(dir_path):
    print(home)
    print(dirs)
    # files中是文件列表
    for file_name in files:
      # 这个file_name只是一个文件名
      print(file_name)
      # 如果我们需要打开文件进行编辑读写操作,那就需要文件的路径
      # 用os.path.join方法就可以快速得到文件路径
      file_path = os.path.join(home, file_name)

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一篇文章搞定Python操作文件与目录
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址