赞
踩
借鉴参考了网上的一些内容,便总结了一下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))]) # 所有的目录
今天的分享就到这里了,希望对你有所帮助
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。