这篇教程Python文件及目录处理的方法写得很实用,希望能帮到您。 下面先来介绍python目录处理相关方法。
一、目录操作
1. 获取当前代码路径
test_folder.pyimport osimport sysprint(__file__)print(sys.argv[0])print(os.path.realpath(__file__))print(os.path.abspath(sys.argv[0])) Out: D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py
2. 获取当前文件__file__的所在目录
print(os.getcwd())print(os.path.dirname(os.path.realpath(__file__)))print(os.path.split(os.path.realpath(__file__))[0])path = os.path.dirname(os.path.realpath(__file__)) Out: D:/ProgramWorkspace/PythonNotes/03-File-Handling D:/ProgramWorkspace/PythonNotes/03-File-Handling D:/ProgramWorkspace/PythonNotes/03-File-Handling
3. 获取当前文件名名称
print(os.path.basename(sys.argv[0])) # 当前文件名名称print(os.path.basename(__file__)) Out: test_folder.py test_folder.py
4. 拼接路径
path = os.path.dirname(os.path.realpath(__file__))filename = os.path.basename(__file__)abspath = os.path.join(path, filename)print(abspath) Out: D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py
5. 创建目录
判断目录是否存在: 创建目录: if not os.path.exists(path): print(f"创建文件夹: {path}") os.makedirs(path)
二、文件操作
1. 创建文本文件
text = "Hello World!"newfilepath = os.path.join(path, "newfile.txt")file = open(newfilepath, 'w')file.write(text) # 写入内容信息file.close()
2. 判断文件是否存在
print(os.path.isfile(path)) print(os.path.isfile(newfilepath))print(os.path.exists(newfilepath)) Out: False True True
os.path.isfile 用于判断是否为文件且是否存在,os.path.exists 也可以用于判断文件是否存在,但还是建议使用os.path.isfile 判断文件,os.path.exists 判断目录是否存在。比如,某个文件为newfile ,使用这两个方法都会返回True,无法判断到底是文件还是目录。
3. 判断文件属性
print(os.access(newfilepath,os.F_OK)) # 文件是否存在print(os.access(newfilepath,os.R_OK)) # 文件是否可读print(os.access(newfilepath,os.W_OK)) # 文件是否可以写入print(os.access(newfilepath,os.X_OK)) # 文件是否有执行权限 Out: True True True True
os.access(newfilepath,os.F_OK) 也可以用于判断文件是否存在。
4. 打开文件
打开文本文件或者二进制文件可以使用 open() 方法: 几种文件打开模式: b :二进制模式 t :文本模式(默认) r : 打开存在的文件,读操作(默认)。 w : 打开文件,写操作,先前文件中的内容会被删除。如果文件不存在会自动创建。 a : 打开文件,追加操作,不会删除先前文件中的内容。如果文件不存在会自动创建。 x :创建新文件,写操作,使用此模式打开存在的文件会抛出异常。 r+ : 读、写操作,不会删除先前文件中的内容,但是会覆盖内容。 w+ : python批处理将图片进行放大实例代码 深人了解Python上下文管理器 |