当前位置:   article > 正文

Python——os模块文件,目录操作_os创建目录

os创建目录

借鉴参考了网上的一些内容,便总结了一下python中os模块的一些使用方法

1.创建目录

  1. import os
  2. os.makedirs('C/python/file1',exist_ok=True)
'
运行

会在当前工作目录下面创建 C目录,在C目录下面再创建 python目录,在Python目录下面再创建file1目录,exist_ok=True 指定了,如果某个要创建的目录已经存在,也不报错

2.删除文件或目录

os.remove('文件名.py')

3.修改文件名、目录名

这里使用的是os模块的rename函数

  1. import os
  2. os.rename('d:/tools/first.py','d:/tools/second.py')
  3. #修改文件名: d:/tools/first.py 为 d:/tools/second.py

注:Linux 系统上,如果重命名之前 d:/tools/second.py 已经存在,则会被覆盖,所以使用该函数一定要注意。

4.判断文件、目录是否存在

(1)如果我们需要判断一个指定路径的文件或者目录是否存在,可以使用下面的方法

  1. import os
  2. os.path.exists('d:/systems/cmd.exe')
  3. os.path.exists('d:/systems')
'
运行

exists方法返回值为True表示 存在,否则表示不存在

(2)如果你要判断指定路径是否是文件,可以这样

  1. import os
  2. os.path.isfile('d:/systems/cmd.exe')
  3. # 返回值为True 表示是文件
'
运行

(3)如果你要判断指定路径是否是目录,可以这样

  1. import os
  2. os.path.isdir('d:/systems')
  3. # 返回值为True 表示是目录
'
运行

5.当前工作目录

有时候我们需要得到程序的当前工作目录的路径,可以使用如下代码

cwd = os.getcwd()

如果需要改变当前工作目录到另外的路径,可以使用

os.chdir(path) #path参数就是新的当前工作目录路径地址

6.遍历目录下面所有的文件

(1)可以使用 os库中的walk方法

  1. import os
  2. targetDir = r'd:\tmp\util\dist\check' # 目标目录
  3. files = []
  4. dirs = []
  5. # 下面的三个变量 dirpath, dirnames, filenames
  6. # dirpath 代表当前遍历到的目录名
  7. # dirnames 是列表对象,存放当前dirpath中的所有子目录名
  8. # filenames 是列表对象,存放当前dirpath中的所有文件名
  9. for (dirpath, dirnames, filenames) in os.walk(targetDir):
  10. files += filenames
  11. dirs += dirnames
  12. print(files)
  13. print(dirs)
'
运行

(2)如果要得到某个目录下所有文件的全路径可以这样

  1. import os
  2. targetDir = r'd:\tmp\util\dist\check' # 目标目录
  3. for (dirpath, dirnames, filenames) in os.walk(targetDir):
  4. for fn in filenames:
  5. # 把 dirpath 和 每个文件名拼接起来 就是全路径
  6. fpath = os.path.join(dirpath, fn)
'
运行

7.得到目录中所有的文件和子目录名

  1. import os
  2. targetDir = r'd:\tmp\util\dist\check' # 目标目录
  3. files = os.listdir(targetDir)
  4. print(files)

listdir返回的是该目录下面所有的文件和子目录,如果我们只需要获取目录中所有的文件,或者只需要子目录,可以这样

  1. import os
  2. from os.path import isfile, join,isdir
  3. targetDir = r'd:\tmp\util\dist\check' # 目标目录
  4. print([f for f in os.listdir(targetDir) if isfile(join(targetDir, f))])# 所有的文件
  5. print([f for f in os.listdir(targetDir) if isdir(join(targetDir, f))]) # 所有的目录

今天的分享就到这里了,希望对你有所帮助

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/838486
推荐阅读
相关标签