python - 使用Python进行批量重命名

标签 python file file-rename

假设我在一个目录中有一堆文件,具有不同的扩展名:

dsgxy7wusshg2.jpg
ds65321333321.png
ds2716113shg2.jpg
d3171763462g2.jpg
5432125321hg2.png
db37fv73v7av1.png
d0zhzb38b22g2.jpg
d3171763462nb.jpg

我想创建一个小脚本,将每个文件重命名为 mystring_x.ext 格式,其中 mystring 是我在脚本中设置的字符串,x 是要重命名的文件的编号,ext 是文件的原始扩展名。两个文件不应该使用相同的编号但具有不同的扩展名。每个号码只有一个文件。

我知道我应该使用 os 模块来重命名文件,但是我应该尝试使用什么程序来完成此任务?

最佳答案

directory = '/path/to/dir'
base = 'mystring'

for i, f in enumerate(os.listdir(directory), 1):
    ext = f.rsplit('.', 1)[-1]
    absolutify = lambda s: os.path.join(directory, s)
    os.rename(absolutify(f), absolutify('%s_%d.%s' % (base, i, ext)))

关于python - 使用Python进行批量重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758738/

相关文章:

python - 如何加快在 Python 中加载和读取 JSON 文件的过程?

python - 返回列表时函数中的奇怪行为

linux - 我可以在 Linux 中用所有文件中的新内容更新文件的一部分吗

java - Java 中的 File.rename() - 它是原子操作吗?

c - 为什么 rename() 和 remove() 函数不起作用?

PHP将文件解压到目录中,更改解压文件夹的名称

python - Python 3.2 中的 Colorama AssertionError

python - 让 PyEphem 返回带有符号的角度

c# - 从文本文件填充数据表

c - 将 GMP mpf_t 和 mpz_t 类型存储在文件中