帮我写个python脚本,批量读取文件名并保存到一个txt文本中
时间: 2024-04-08 11:30:12 浏览: 290
当然可以!以下是一个简单的Python脚本示例,用于批量读取文件名并保存到一个txt文本文件中:
```python
import os
# 指定要读取文件名的目录路径
directory = '/path/to/directory'
# 获取目录中的文件名列表
file_names = os.listdir(directory)
# 创建一个txt文件用于保存文件名
output_file = 'file_names.txt'
# 打开文件,将文件名写入txt文本中
with open(output_file, 'w') as file:
for file_name in file_names:
file.write(file_name + '\n')
print("文件名已成功保存到", output_file)
```
在上面的示例中,你需要将`/path/to/directory`替换为你想要读取文件名的目录路径。执行脚本后,它将在相同目录下创建一个名为`file_names.txt`的文本文件,并将文件名逐行写入该文件中。
请注意,这个脚本只会保存文件的名称,不包括完整的路径。如果你需要完整的文件路径,请相应地修改代码。
相关问题
写一个python,批量修改文件名,根据参数数据.xlsx的M列与文件名进行匹配后将文件名改成对应行E列+F列+D列用-链接
在Python中,你可以使用`os`和`pandas`库来实现这个功能。首先,确保已经安装了这两个库,如果没有,可以使用pip安装:
```bash
pip install pandas
```
下面是一个简单的脚本示例,它读取一个Excel文件,然后根据指定列(这里假设M列为索引列)修改文件名:
```python
import os
import pandas as pd
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 检查列是否存在,替换为实际列名
if 'M' in df.columns and 'E' in df.columns and 'F' in df.columns and 'D' in df.columns:
# 获取M列作为索引,E、F和D列作为新文件名的部分
new_names = df.apply(lambda row: f'{row["E"]}-{row["F"]}{row["D"]}', axis=1)
# 确定文件路径(假设所有文件在同一目录下)
directory = os.path.dirname(df['M'].iloc[0]) # 使用第一个M列值所在的路径
# 遍历DataFrame,对每个文件名进行操作
for i, filename in enumerate(df['M']):
old_path = os.path.join(directory, filename) # 当前文件路径
if os.path.exists(old_path): # 判断文件是否存在
new_path = os.path.join(directory, new_names[i])
os.rename(old_path, new_path) # 执行文件名修改
else:
print("文件中缺少必要的列,请确认'M', 'E', 'F'和'D'列存在。")
帮我用python写一个读取文件并相同文件名开头的文件放在一个新的文件夹里的脚步
当然可以!以下是一个示例的Python脚本,用于读取文件并将相同文件名开头的文件放在一个新的文件夹中:
```python
import os
import shutil
def move_files_with_same_prefix(folder_path, target_folder_path):
# 创建目标文件夹
os.makedirs(target_folder_path, exist_ok=True)
# 获取指定文件夹下的所有文件
files = os.listdir(folder_path)
# 遍历所有文件
for file in files:
file_path = os.path.join(folder_path, file)
# 判断是否为文件
if os.path.isfile(file_path):
# 获取文件名的开头部分
file_name_prefix = file.split('_')[0] # 这里假设文件名以下划线分隔,取开头部分作为前缀
# 构建目标文件夹路径
target_folder = os.path.join(target_folder_path, file_name_prefix)
# 如果目标文件夹不存在,则创建
os.makedirs(target_folder, exist_ok=True)
# 将文件移动到目标文件夹中
shutil.move(file_path, target_folder)
print("文件移动完成!")
# 示例用法
folder_path = "/path/to/source/folder" # 指定源文件夹路径
target_folder_path = "/path/to/target/folder" # 指定目标文件夹路径
move_files_with_same_prefix(folder_path, target_folder_path)
```
请将`/path/to/source/folder`和`/path/to/target/folder`替换为实际的源文件夹路径和目标文件夹路径,并确保具有对这些文件夹的读写权限。此脚本假设文件名以下划线分隔,并将开头部分作为文件名前缀。你可以根据自己的需求进行修改。运行脚本后,它将遍历源文件夹中的所有文件,将具有相同文件名开头的文件移动到对应的目标文件夹中。
阅读全文