帮我写一段代码,我需要把文件夹内的所有文件的文件名全部导出成csv格式,包含子文件夹的文件名
时间: 2023-05-31 22:03:56 浏览: 115
import os
import csv
# 定义函数,遍历文件夹,获取所有文件名
def get_filenames(dir_path):
filenames = []
for root, dirs, files in os.walk(dir_path):
for file in files:
filenames.append(os.path.join(root, file))
return filenames
# 定义函数,将文件名导出成csv格式
def export_to_csv(filenames):
with open('filenames.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['文件名'])
for filename in filenames:
writer.writerow([filename])
# 调用函数
dir_path = input('请输入文件夹路径:')
filenames = get_filenames(dir_path)
export_to_csv(filenames)
print('文件名已导出至filenames.csv文件中。')
相关问题
帮我写一个python脚本,我需要把文件夹内的所有文件的文件名全部导出成csv格式,包含子文件夹的文件名
以下是一个可以实现此功能的Python脚本:
```python
import os
import csv
# 设置文件夹路径
folder_path = "/path/to/folder"
# 创建csv文件并写入表头行
with open("file_names.csv", "w", newline="") as csv_file:
writer = csv.writer(csv_file)
writer.writerow(["File Name"])
# 遍历文件夹及子文件夹,将文件名写入csv文件
for root, dirs, files in os.walk(folder_path):
for file in files:
# 获取文件路径并提取文件名
file_path = os.path.join(root, file)
file_name = os.path.basename(file_path)
# 将文件名写入csv文件
with open("file_names.csv", "a", newline="") as csv_file:
writer = csv.writer(csv_file)
writer.writerow([file_name])
```
你只需要将`/path/to/folder`替换为你需要遍历的文件夹路径即可。此脚本将在同一目录下创建一个名为`file_names.csv`的csv文件,并将所有文件的文件名写入该文件。
帮我写一个python脚本,脚本的作用是把文件夹内的文件名导出,就是类似目录树一样的东西。在我运行该脚本是,它会先问我文件夹路径,在我输入之后,它就开始工作了,等工作完毕,它会问我如何导出,是导出为xmid文件还是导出为csv
文件。
以下是Python脚本示例:
```python
import os
import csv
# 询问文件夹路径
folder_path = input("请输入文件夹路径:")
# 获取文件夹内所有文件名
file_names = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_names.append(os.path.join(root, file))
# 询问导出方式
export_type = input("请选择导出方式(输入xmid或csv):")
# 导出为xmid文件
if export_type == "xmid":
with open("file_names.xmid", "w") as f:
for name in file_names:
f.write(name + "\n")
print("文件名已成功导出为file_names.xmid")
# 导出为csv文件
elif export_type == "csv":
with open("file_names.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["文件名"])
for name in file_names:
writer.writerow([name])
print("文件名已成功导出为file_names.csv")
# 导出方式输入错误
else:
print("输入错误,请重新运行脚本并输入正确的导出方式。")
```
运行脚本后,会先要求输入文件夹路径,例如:
```
请输入文件夹路径:D:\Documents\Files
```
然后会要求选择导出方式,可以输入"xmid"或"csv",例如:
```
请选择导出方式(输入xmid或csv):csv
```
脚本会根据选择的导出方式将文件名导出为相应格式的文件。例如,选择导出为csv文件时,导出的文件内容如下:
```
文件名
D:\Documents\Files\file1.txt
D:\Documents\Files\file2.txt
D:\Documents\Files\subfolder1\file3.txt
D:\Documents\Files\subfolder2\file4.txt
```
阅读全文