借鉴参考了网上的一些内容,便总结了一下python中os模块的一些使用方法
1.创建目录
import os
os.makedirs('C/python/file1',exist_ok=True)
会在当前工作目录下面创建 C目录,在C目录下面再创建 python目录,在Python目录下面再创建file1目录,exist_ok=True 指定了,如果某个要创建的目录已经存在,也不报错
2.删除文件或目录
os.remove('文件名.py')
3.修改文件名、目录名
这里使用的是os模块的rename函数
import os
os.rename('d:/tools/first.py','d:/tools/second.py')
#修改文件名: d:/tools/first.py 为 d:/tools/second.py
注:Linux 系统上,如果重命名之前 d:/tools/second.py 已经存在,则会被覆盖,所以使用该函数一定要注意。
4.判断文件、目录是否存在
(1)如果我们需要判断一个指定路径的文件或者目录是否存在,可以使用下面的方法
import os
os.path.exists('d:/systems/cmd.exe')
os.path.exists('d:/systems')
exists方法返回值为True表示 存在,否则表示不存在
(2)如果你要判断指定路径是否是文件,可以这样
import os
os.path.isfile('d:/systems/cmd.exe')
# 返回值为True 表示是文件
(3)如果你要判断指定路径是否是目录,可以这样
import os
os.path.isdir('d:/systems')
# 返回值为True 表示是目录
5.当前工作目录
有时候我们需要得到程序的当前工作目录的路径,可以使用如下代码
cwd = os.getcwd()
如果需要改变当前工作目录到另外的路径,可以使用
os.chdir(path) #path参数就是新的当前工作目录路径地址
6.遍历目录下面所有的文件
(1)可以使用 os库中的walk方法
import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
files = []
dirs = []
# 下面的三个变量 dirpath, dirnames, filenames
# dirpath 代表当前遍历到的目录名
# dirnames 是列表对象,存放当前dirpath中的所有子目录名
# filenames 是列表对象,存放当前dirpath中的所有文件名
for (dirpath, dirnames, filenames) in os.walk(targetDir):
files += filenames
dirs += dirnames
print(files)
print(dirs)
(2)如果要得到某个目录下所有文件的全路径可以这样
import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
for (dirpath, dirnames, filenames) in os.walk(targetDir):
for fn in filenames:
# 把 dirpath 和 每个文件名拼接起来 就是全路径
fpath = os.path.join(dirpath, fn)
7.得到目录中所有的文件和子目录名
import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
files = os.listdir(targetDir)
print(files)
listdir返回的是该目录下面所有的文件和子目录,如果我们只需要获取目录中所有的文件,或者只需要子目录,可以这样
import os
from os.path import isfile, join,isdir
targetDir = r'd:\tmp\util\dist\check' # 目标目录
print([f for f in os.listdir(targetDir) if isfile(join(targetDir, f))])# 所有的文件
print([f for f in os.listdir(targetDir) if isdir(join(targetDir, f))]) # 所有的目录
今天的分享就到这里了,希望对你有所帮助😃
这一生,风雨兼程,就是为了遇见最好的自己。前方浩浩荡荡,万事皆可期待。💗