python批量修改文件名
时间: 2023-09-20 15:06:37 浏览: 254
### 回答1:
如果想要使用 Python 批量修改文件名,你可以使用 Python 的 `os` 模块中的 `rename()` 函数。
这里是一个简单的例子,假设你想把当前目录下所有后缀为 `.txt` 的文件名修改为 `.bak`:
```python
import os
for filename in os.listdir():
if filename.endswith('.txt'):
os.rename(filename, filename[:-4] + '.bak')
```
这段代码会循环遍历当前目录下的所有文件,如果文件名以 `.txt` 结尾,就使用 `rename()` 函数将其修改为 `.bak`。
注意,如果你希望修改的文件在不同的目录中,你需要指定文件的完整路径。
例如:
```python
import os
path = '/path/to/files'
for filename in os.listdir(path):
if filename.endswith('.txt'):
os.rename(os.path.join(path, filename), os.path.join(path, filename[:-4] + '.bak'))
```
希望这些信息能帮到你!
### 回答2:
Python可以通过使用os模块和os.path模块来实现批量修改文件名。以下是一个简单的示例代码,用于将指定文件夹下的所有文件名中的某个字符串替换为另一个字符串:
```python
import os
def rename_files(folder, old_str, new_str):
# 获取指定文件夹下的所有文件名
file_list = os.listdir(folder)
# 遍历文件列表
for filename in file_list:
# 获取文件的绝对路径
filepath = os.path.join(folder, filename)
# 判断是否为文件
if os.path.isfile(filepath):
# 将旧字符串替换为新字符串
new_filename = filename.replace(old_str, new_str)
# 构建新文件的绝对路径
new_filepath = os.path.join(folder, new_filename)
# 重命名文件
os.rename(filepath, new_filepath)
print(f"将文件 {filename} 重命名为 {new_filename}")
# 调用函数示例
folder_path = '/path/to/folder' # 指定文件夹路径
old_string = 'old' # 需要替换的字符串
new_string = 'new' # 替换后的字符串
rename_files(folder_path, old_string, new_string)
```
需要注意的是,此代码仅适用于修改文件名,不会修改文件的内容。在使用时,需替换`/path/to/folder`为真实的文件夹路径,`old`为需要替换的字符串,`new`为替换后的字符串。运行代码后,会依次打印出所有文件的重命名过程。
阅读全文