python文件操作
python文件操作
-
- 0.引言
- 1.os.path.join()
- 2.os.walk()
- 3.os.listdir()
0.引言
遇到一个记录一个。
1.os.path.join()
os.path.join()函数是Python中用于拼接路径的函数。它会根据不同操作系统的不同规则,将多个字符串路径组合成一个有效的路径。举个例子,如果要在Windows系统中拼接路径,可以这样使用:
import ospath1 = "C:\\\\Program Files\\\\Python"
path2 = "Scripts"
full_path = os.path.join(path1, path2)
print(full_path)
输出结果为:
C:\\Program Files\\Python\\Scripts
在Linux或者Mac OS中,路径分隔符是/,可以这样使用:
import ospath1 = "/home/user"
path2 = "Documents"
full_path = os.path.join(path1, path2)
print(full_path)
输出结果为:
/home/user/Documents
可以看到,os.path.join()函数可以帮助我们根据不同的操作系统规则拼接路径,避免了手动拼接路径时出现的错误。
2.os.walk()
os.walk() 函数用于遍历目录树,返回一个元组 (dirpath, dirnames, filenames) ,其中:
- dirpath:遍历的当前文件夹路径(字符串类型)
- dirnames:当前文件夹中的所有子文件夹名称列表(列表类型)
- filenames:当前文件夹中的所有文件名称列表(列表类型)
os.walk() 会遍历当前目录以及其所有子目录,并返回当前目录下的文件和子目录。可以在循环中使用 os.walk() 来对目录树进行遍历,例如:
import os# 遍历目录树
for root, dirs, files in os.walk("path/to/directory"):for name in files:# 处理当前目录下的文件print(os.path.join(root, name))for name in dirs:# 处理当前目录下的子目录print(os.path.join(root, name))
上述代码中,os.walk() 遍历了 path/to/directory 目录以及其所有子目录,并分别处理了当前目录下的文件和子目录,使用 os.path.join() 拼接当前路径和文件名/子目录名。
3.os.listdir()
os.listdir()函数可以列出指定路径下的所有文件和子目录,返回一个包含所有文件和目录名称的列表。
例如,假设我们当前工作目录下有如下文件和目录:
./
├── data/
│ ├── file1.txt
│ ├── file2.txt
│ ├── dir1/
│ └── dir2/
├── script.py
└── README.md
我们可以使用os.listdir()函数来列出当前目录下的所有文件和目录:
import oscurrent_dir = "./"# 列出当前目录下的所有文件和目录
items = os.listdir(current_dir)# 输出所有文件和目录的名称
for item in items:print(item)
输出结果为:
data
script.py
README.md
注意,os.listdir()函数只会列出指定目录下的直接子级文件和目录,并不会递归列出子目录下的文件和目录。如果需要列出指定目录下的所有文件和子目录,可以使用os.walk()函数。