> 文章列表 > python文件操作

python文件操作

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()函数。

西交大教育在线