python - 如何将常量添加到 python 或 bash 脚本中文件名中包含的数字?
问题描述
假设我有以下文件:
file1900.txt file1901.txt file1902.txt ... file1998.txt file1999.txt file0.txt file1.txt file2.txt file3.txt ... file19.txt file20.txt
现在我想为2000
文件名中包含的数字小于的所有文件添加一个常量1900
。下面是我要如何重命名这些文件:
file1900.txt file1901.txt file1902.txt ... file1998.txt file1999.txt file2000.txt file2001.txt file2002.txt file2003.txt ... file2019.txt file2020.txt
有什么好的python脚本吗?如果 Linux bash 脚本更简单,它也可以。
解决方案
以下 Python 脚本使用正则表达式来匹配您提供的通用模式,以及匹配组中的数字。
如果数字低于 1900,它会向其添加 2000,然后调用os.rename
重命名文件。
import re
import os
expression = re.compile(r'file(\d+)\.txt')
for item in os.scandir():
if item.is_file():
match = expression.match(item.name)
if match:
num = int(match.group(1))
if num < 1900:
num += 2000
new_name = f"file{num}.txt"
os.rename(item.name, new_name)
推荐阅读
- android - 如何在 Android 中获取 SPEED Dial 联系人列表?
- javascript - Meteor / React:通过表单输入和“点击”输入创建 MongoDB 条目
- kubernetes - 混合来自 kubernetes 部署和 docker 映像的环境变量
- mysql - 关于数据不一致的MYSQL数据库结构的建议
- docker - 在 docker-compose 文件中为我的服务选择重启策略
- javascript - react-calendar onChange 不要将日历设置为实际日期
- python - 有没有办法将我的 Python OLS 回归保存为 csv?
- reactjs - 如何动态禁用 Fluent UI 按钮?
- python - 将 kivy 文件 (.py) 转换为 apk 时,小部件不会自动调整到设备的窗口大小
- javascript - JavaScript中关于回调的树形图方法代码