python 获取文件夹下所有文件名列表recursive
时间: 2023-10-03 16:05:46 浏览: 174
可以使用os模块和os.walk函数来实现获取文件夹下所有文件名列表recursive的功能。
具体实现如下:
```
import os
def get_all_file_names(folder_path):
files = []
for root, dirs, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(root, filename)
files.append(file_path)
return files
folder_path = 'your_folder_path'
file_names = get_all_file_names(folder_path)
print(file_names)
```
其中,os.walk函数返回三个参数:当前遍历的目录路径、当前目录下的子目录列表、当前目录下的文件列表。遍历时可以使用os.path.join函数将目录路径和文件名拼接成完整的文件路径。最后将所有文件路径添加到列表中并返回。
相关问题
Python抓取路径中多级文件夹内的txt文件合并成一个excel
以下是一个Python脚本示例,它可以抓取指定路径中多级文件夹内的所有txt文件并将它们合并为一个excel文件。
```python
import os
import glob
import pandas as pd
# 指定txt文件所在的路径
path = r'C:\your\path\to\directory'
# 获取所有txt文件的路径
txt_files = glob.glob(os.path.join(path, '**/*.txt'), recursive=True)
# 如果txt文件不存在,则退出程序
if not txt_files:
print('No txt files found in the specified directory')
exit()
# 通过循环读取每个txt文件并将它们合并到一个DataFrame中
data = pd.DataFrame()
for file in txt_files:
# 读取txt文件数据并转换为DataFrame
df = pd.read_csv(file, delimiter='\t')
# 添加文件名列
filename = os.path.splitext(os.path.basename(file))[0]
df['Filename'] = filename
# 将新的DataFrame合并到主DataFrame中
data = pd.concat([data, df])
# 将合并后的数据保存为excel文件
data.to_excel(os.path.join(path, 'merged_data.xlsx'), index=False)
```
此代码使用`glob`模块来查找指定路径内的所有txt文件。然后,它循环遍历这些文件并使用`pd.read_csv()`函数读取它们的内容。一个新的DataFrame被创建,并各个txt文件中的数据被添加到其中。最后,数据被保存为一个新的excel文件。请注意,代码中的分隔符为Tab。根据实际情况,您可能需要将其更改为适当的分隔符。
阅读全文