Python目录处理方法

1. 获取当前代码路径

import os
import sys

print(__file__)
print(sys.argv[0])
print(os.path.realpath(__file__))
print(os.path.abspath(sys.argv[0]))

输出

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__))

输出

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__))

输出

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)

输出

D:\ProgramWorkspace\PythonNotes\03-File-Handling\test_folder.py

获取上级目录:

dirpath     = os.path.dirname(os.path.realpath(__file__))
parent_path = os.path.abspath(os.path.join(dirpath, ".."))

5. 创建目录

判断目录是否存在:

os.path.exists(path)

创建目录

if not os.path.exists(path): 
    print(f"创建文件夹: {
      
      path}")
    os.makedirs(path)
    #Python小白学习交流群:725638078

6. 获取目录下所有文件

有两种方式可以用来获取目录的文件:

  • os.walk : 返回当前目录下的文件及子目录的内容
  • os.listdir: 只返回当前目录中所包含的内容
import os

for root, dirs, files in os.walk(os.getcwd()):
	print(root)
	print(dirs)
	print(files)
	print("#" * 10)
print(os.listdir(os.getcwd()))

猜你喜欢

转载自blog.csdn.net/qdPython/article/details/129837771