Python 2.7 如何使用Python以运行顺序重命名JPG文件
我对Python编程非常陌生,我尝试用扩展名“.jpg”重命名100个文件,该扩展名位于使用pyhthon的特定文件夹中 我需要的文件将被重命名的运行顺序从1号开始。这是我开始编写的代码:Python 2.7 如何使用Python以运行顺序重命名JPG文件,python-2.7,file,rename,Python 2.7,File,Rename,我对Python编程非常陌生,我尝试用扩展名“.jpg”重命名100个文件,该扩展名位于使用pyhthon的特定文件夹中 我需要的文件将被重命名的运行顺序从1号开始。这是我开始编写的代码: import os,glob,fnmatch os.chdir(r"G:\desktop\Project\test") for files in glob.glob("*.jpg"): print files 当我运行它时,我得到: >>> er3.jpg IMG-201602
import os,glob,fnmatch
os.chdir(r"G:\desktop\Project\test")
for files in glob.glob("*.jpg"):
print files
当我运行它时,我得到:
>>>
er3.jpg
IMG-20160209-ssdeWA0000.jpg
IMG-20160209-WA0000.jpg
sd4.jpg
tyu2.jpg
uj7.jpg
we3.jpg
yh7.jpg
>>>
所以代码,到目前为止还可以
例如,我的文件夹是:
我需要所有的文件名都是:
1,2,3,4-具有运行订单名称。Python2.7是否可以重命名特定文件夹中的所有JPG文件?首先,获取文件夹中包含的所有文件的列表 将为您列出图像路径中的所有文件 用于获取索引号,以获取的新名称 图像
如果只想将所有文件重命名为
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)
用于从glob()
返回的列表中获取每个文件的索引,以便用于创建新文件名。注意,它允许您指定开始索引,因此我从1
开始,而不是从Python标准的0开始
如果您希望此文件列表能够正确排序,那么您还需要使用零填充文件名(001.jpg
,等等)。在这种情况下,只需将newfile='{}.jpg'.format(index)
替换为newfile='{:03}.jpg'.format(index)
有关排序文件名(glob.glob(“*jpg”))的更多信息,请参见
str.format()
:
也许?是否可以将其调整为处理jpg和png?@Maverick:当然可以。不幸的是,glob.glob()
一次只能匹配一个扩展,但是您可以轻松地运行循环两次,用jpg
替换png
。还有其他更有效的方法,这在很大程度上取决于您想要的输出。您好,欢迎来到SO!虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决问题的附加上下文将提高答案的长期价值。请阅读,然后
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)
import os
from os import path
os.chdir("//Users//User1//Desktop//newd//pics")
for file in os.listdir():
name,ext=path.splitext(file)
if ext == '.jpeg':
dst= '{}.jpg'.format(name)
os.rename(file,dst)