该脚本是一个强大的文件操作工具,支持在指定目录及其子目录下批量执行各种文件操作。功能涵盖了文件备份、查找替换、插入字符、文件权限修改、文件删除等多个方面,方便进行自动化的文件管理和处理
Souce Code
1 | #!/usr/bin/env python3 |
脚本使用说明
简介
该脚本是一个强大的文件操作工具,支持在指定目录及其子目录下批量执行各种文件操作。功能涵盖了文件备份、查找替换、插入字符、文件权限修改、文件删除等多个方面,方便进行自动化的文件管理和处理。
功能
1. 备份文件(Backup File)
该功能会在修改文件之前,自动创建一个 .bak
扩展名的备份文件,避免丢失重要数据。
2. 每隔n行插入字符(Insert Character Every n Lines)
在文件的指定行数间隔处插入指定字符,可以帮助你在代码文件中插入注释、分隔符等内容。
3. 追加文本(Append Text)
可以将指定的文本追加到文件的末尾,适用于日志文件、配置文件等需要持续追加内容的场景。
4. 查找并替换文本(Find and Replace Text)
脚本可以在指定文件中查找并替换文本,适用于批量修改配置文件、代码文件中的常量等。
5. 更改文件权限(Change File Permissions)
该功能允许你为文件设置特定的权限,使用八进制表示法(例如 755
)。
6. 删除空行(Remove Empty Lines)
可以清除文件中的所有空行,常用于格式化代码文件、清理日志文件。
7. 合并文件(Merge Files)
将多个文件的内容合并成一个文件,适用于需要汇总多个文件数据的场景。
8. 统计字符串出现次数(Count String Occurrences)
脚本可以统计指定字符串在文件中的出现次数,适用于分析日志文件中某个关键字的出现频率。
9. 比较文件(Compare Files)
比较两个文件的内容,并输出差异,适用于版本控制、配置文件对比等场景。
10. 删除指定行(Remove Specific Lines from File)
删除文件中的特定行,可以按行号范围删除,适用于清理不需要的注释、空行等。
11. 创建文件(Create File with Specific Content)
在指定路径创建一个新文件,并可以写入初始内容,适用于批量创建配置文件等。
12. 删除包含特定字符串的文件(Delete Files Containing Specific String)
删除文件名中包含指定字符串的文件,适用于清理多余的文件。
13. 删除包含特定字符串的文件夹(Delete Folders Containing Specific String)
删除文件夹名中包含指定字符串的文件夹。
14. 重命名文件(Rename Files)
批量修改文件名中的特定字符,可以将文件名中的某一部分替换为新的字符串,适用于批量重命名文件。
15. 重命名文件夹(Rename Folders)
批量修改文件夹名中的特定字符,适用于重命名文件夹。
使用方法
1. 备份文件
使用 --backup
参数可以在操作文件之前创建备份。
1 | python script.py --backup -d /path/to/directory |
2. 每隔n行插入字符
使用 --insert-char
和 --line-interval
参数指定插入字符和行间隔。
1 | python script.py --insert-char "#" --line-interval 5 -d /path/to/directory |
3. 追加文本
使用 --append
参数指定要追加的文本。
1 | python script.py --append "This is an appended text" -d /path/to/directory |
4. 查找并替换文本
使用 --find-replace
参数指定要查找的字符串和要替换的字符串。
1 | python script.py --find-replace "oldText" "newText" -d /path/to/directory |
5. 更改文件权限
使用 --chmod
参数指定文件权限。
1 | python script.py --chmod 755 -d /path/to/directory |
6. 删除空行
使用 --remove-empty
参数删除文件中的空行。
1 | python script.py --remove-empty -d /path/to/directory |
7. 合并文件
使用 --merge-files
参数指定要合并的文件。
1 | python script.py --merge-files file1.txt file2.txt -d /path/to/directory |
8. 统计字符串出现次数
使用 --count-string
参数统计指定字符串的出现次数。
1 | python script.py --count-string "ERROR" -d /path/to/directory |
9. 比较文件
使用 --compare-files
参数指定要比较的文件。
1 | python script.py --compare-files file1.txt file2.txt -d /path/to/directory |
10. 删除指定行
使用 --remove-lines
参数指定要删除的行范围。
1 | python script.py --remove-lines 5 10 -d /path/to/directory |
11. 创建文件
使用 --create-file
参数创建新文件,并指定文件内容。
1 | python script.py --create-file new_file.txt -d /path/to/directory |
12. 删除包含特定字符串的文件
使用 --delete-files-with-str
参数删除文件名中包含特定字符串的文件。
1 | python script.py --delete-files-with-str "test" -d /path/to/directory |
13. 删除包含特定字符串的文件夹
使用 --delete-folders-with-str
参数删除文件夹名中包含特定字符串的文件夹。
1 | python script.py --delete-folders-with-str "test" -d /path/to/directory |
14. 重命名文件
使用 --rename-files-with-str
和 --rename-to-str
参数重命名文件。
1 | python script.py --rename-files-with-str "old" --rename-to-str "new" -d /path/to/directory |
15. 重命名文件夹
使用 --rename-folders-with-str
和 --rename-folders-to-str
参数重命名文件夹。
1 | python script.py --rename-folders-with-str "old" --rename-folders-to-str "new" -d /path/to/directory |
参数说明
参数 | 说明 |
---|---|
-d , --directory |
指定操作的目录(默认为当前目录) |
--backup |
在文件操作前创建备份 |
--insert-char |
指定插入的字符 |
--line-interval |
每隔多少行插入字符 |
--append |
指定要追加到文件末尾的文本 |
--find-replace |
查找并替换文本,格式为 "oldText newText" |
--chmod |
更改文件权限,传入八进制权限值 |
--remove-empty |
删除文件中的空行 |
--merge-files |
合并多个文件为一个文件 |
--count-string |
统计文件中某个字符串的出现次数 |
--compare-files |
比较两个文件的差异 |
--remove-lines |
删除指定行范围的内容,格式为 "start end" |
--create-file |
创建新文件并指定内容 |
--delete-files-with-str |
删除文件名中包含指定字符串的文件 |
--delete-folders-with-str |
删除文件夹名中包含指定字符串的文件夹 |
--rename-files-with-str |
重命名文件名中的特定字符串 |
--rename-to-str |
替换为的新字符串 |
--rename-folders-with-str |
重命名文件夹中的特定字符串 |
--rename-folders-to-str |
替换文件夹名中的字符串 |
注意事项
- 请确保操作前对文件进行了备份,尤其是在执行删除或修改操作时。
- 文件路径和文件夹路径可以是相对路径或绝对路径。
- 操作过程中会打印日志信息,帮助你了解脚本的执行状态。
本文链接: https://talent-tudou.github.io/2025/01/15/Programming/Python脚本-file_operations/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!