new*_*GIS 2 rename file python-2.7
我对 Python 编程相当陌生,我尝试使用 pyhthon 重命名位于特定文件夹中的 100 个带有“.jpg”扩展名的文件。
我需要通过从数字 1 开始运行命令来重命名这些文件。这是我开始编写的代码:
import os,glob,fnmatch
os.chdir(r"G:\desktop\Project\test")
for files in glob.glob("*.jpg"):
print files
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到:
>>>
er3.jpg
IMG-20160209-ssdeWA0000.jpg
IMG-20160209-WA0000.jpg
sd4.jpg
tyu2.jpg
uj7.jpg
we3.jpg
yh7.jpg
>>>
Run Code Online (Sandbox Code Playgroud)
所以代码到目前为止还可以。
例如我的文件夹是:
我需要所有文件名都是:1,2,3,4 - 带有运行顺序名称。python 2.7可以吗?
如果您只是想将所有文件重命名为 等1.jpg,2.jpg您可以这样做:
import os
import glob
os.chdir(r"G:\desktop\Project\test")
for index, oldfile in enumerate(glob.glob("*.jpg"), start=1):
newfile = '{}.jpg'.format(index)
os.rename (oldfile,newfile)
Run Code Online (Sandbox Code Playgroud)
enumerate()用于从 返回的列表中获取每个文件的索引glob(),以便可以使用它来创建新文件名。请注意,它允许您指定起始索引,因此我从 开始1,而不是 Python 标准,零
如果您希望此文件列表可以正确排序,您还需要用零填充文件名( 等001.jpg)。在这种情况下,只需替换newfile = '{}.jpg'.format(index)'为newfile = '{:03}.jpg'.format(index).
有关更多信息,请参阅文档str.format()