帮我写一段python代码,读取多个三级文件夹中的文件,只读取txt格式文件,输出的文件的时候要输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹
时间: 2024-03-20 19:43:06 浏览: 19
好的,以下是实现你要求的 Python 代码:
```python
import os
root_dir = '/path/to/root/dir/'
for dirpath, dirnames, filenames in os.walk(root_dir):
# 只遍历三级文件夹
if dirpath.count(os.sep) == 3:
# 获取一级文件夹名
first_dir = os.path.basename(os.path.dirname(os.path.dirname(dirpath)))
for filename in filenames:
# 只读取txt文件
if filename.endswith('.txt'):
file_path = os.path.join(dirpath, filename)
# 输出一列来显示文件属于哪个一级文件夹
print(first_dir, file_path)
```
你需要将代码中的 `/path/to/root/dir/` 替换成你想要遍历的根目录路径,然后运行即可。代码会遍历所有三级文件夹,只读取其中的 txt 格式文件,并输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹。
相关问题
帮我写一段python代码,读取多个三级文件夹中的文件,输出的文件的时候要输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹
好的,我们可以使用类似的方法来读取多个三级文件夹中的文件,并输出一级文件夹名称。假设你需要读取的三级文件夹路径列表为`folder_list`,每个三级文件夹下又有多个文件,你可以使用如下代码实现:
```python
import os
folder_list = ['/path/to/folder1', '/path/to/folder2', '/path/to/folder3']
for folder_path in folder_list:
for sub_folder in os.listdir(folder_path):
sub_folder_path = os.path.join(folder_path, sub_folder)
if os.path.isdir(sub_folder_path):
for file_name in os.listdir(sub_folder_path):
file_path = os.path.join(sub_folder_path, file_name)
if os.path.isfile(file_path):
print('{}\t{}'.format(os.path.basename(folder_path), file_name))
```
这段代码首先遍历了三级文件夹路径列表中的每个路径,然后遍历每个三级文件夹下的所有二级文件夹,最后遍历每个二级文件夹下的所有文件,并输出文件所属的一级文件夹名称和文件名。其中`os.path.basename(folder_path)`表示获取文件夹路径中的最后一级名称作为一级文件夹名称,`\t`表示输出时使用制表符分隔两个字段。你可以根据需要修改输出的格式。
帮我写一段python代码,读取多个根目录路径三级文件夹中的文件,只读取txt格式文件,输出的文件的时候要输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹
好的,以下是帮你实现的 Python 代码:
```python
import os
root_dirs = ['/path/to/root/dir1/', '/path/to/root/dir2/', '/path/to/root/dir3/']
for root_dir in root_dirs:
for dirpath, dirnames, filenames in os.walk(root_dir):
# 只遍历三级文件夹
if dirpath.count(os.sep) == 3:
# 获取一级文件夹名
first_dir = os.path.basename(os.path.dirname(os.path.dirname(dirpath)))
for filename in filenames:
# 只读取txt文件
if filename.endswith('.txt'):
file_path = os.path.join(dirpath, filename)
# 输出一列来显示文件属于哪个一级文件夹
print(first_dir, file_path)
```
你需要将代码中的 `/path/to/root/dir1/`、`/path/to/root/dir2/` 和 `/path/to/root/dir3/` 替换成你想要遍历的根目录路径列表,然后运行即可。代码会遍历所有三级文件夹,只读取其中的 txt 格式文件,并输出一列来显示文件属于哪个一级文件夹,只显示出一级文件夹。