Source Code
1 | # -*- coding: utf-8 -*- |
脚本概述
rename_dirs_files.py 是一个 Python 脚本,用于遍历指定目录(及其子目录),并根据提供的旧字符串和新字符串,将目录和文件名中的旧字符串替换为新字符串。用户可以选择只修改文件名,或者同时修改文件和目录名。此外,还可以通过 verbose 参数启用详细的输出信息。
功能
- 替换文件名中的旧字符串为新字符串:
- 默认情况下,脚本会遍历指定目录中的所有文件,将文件名中包含旧字符串的部分替换为新字符串。
- 替换目录名中的旧字符串为新字符串:
- 如果提供了
-d或--dir参数,脚本会遍历指定目录中的所有子目录,并将目录名中包含旧字符串的部分替换为新字符串。
- 如果提供了
- 详细输出(Verbose):
- 如果提供了
-v或--verbose参数,脚本会打印每个文件或目录的重命名操作的详细信息。否则,默认不输出任何信息。
- 如果提供了
命令行参数
-r/--replace
必需
指定要处理的根目录路径。该目录及其所有子目录下的文件和(或)文件夹将会被重命名。-o/--old_string
必需
要替换的旧字符串。如果文件名或目录名中包含该字符串,则会被替换为新字符串。-n/--new_string
必需
用来替换旧字符串的字符串。该字符串将替换文件名或目录名中的旧字符串。-d/--dir
可选
如果指定此参数,脚本会修改目录名。如果未提供该参数,脚本只会修改文件名。-v/--verbose
可选
启用详细输出信息。指定此参数后,脚本会在每个重命名操作时打印详细的操作信息(如文件名或目录名的旧路径和新路径)。如果未指定此参数,脚本将不会输出任何信息。
示例
1. 只修改文件名(默认)
假设你要处理目录 /path/to/directory,并将所有文件名中的 ddr3 替换为 ddr4:
1 |
|
解释:
- xxxxxxxxxx1 1python remove_line.py -d /path/to/directory -s “sim_level ?=” -r “sim_level = 1” -vbash
- 文件名中包含
ddr3的部分将被替换为ddr4。
2. 同时修改文件和目录名
如果你还想同时修改目录名,可以加上 -d 或 --dir 参数:
1 | python rename_dirs_files.py -r /path/to/directory -o ddr3 -n ddr4 -d |
解释:
- 文件和目录名中的
ddr3都将被替换为ddr4。
3. 启用详细输出
如果你希望在执行过程中看到每个重命名操作的详细信息,可以加上 -v 或 --verbose 参数:
1 | python rename_dirs_files.py -r /path/to/directory -o ddr3 -n ddr4 -d -v |
输出示例:
1 | Renamed file: /path/to/directory/test.txt -> /path/to/directory/test.txt |
解释:
- 详细输出每个文件和目录的重命名操作。
4. 不启用详细输出
如果没有提供 -v 参数,脚本将不会打印任何信息。
1 |
|
输出:无(没有任何打印信息)。
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2025/01/01/Programming/Python脚本-rename-dirs-files/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2025/01/01/Programming/Python脚本-rename-dirs-files/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!