在Python中将图像名称扩展名从.PNG转换为.png
我有一大堆图片,文件名都是以 .PNG 结尾的(比如 image00.PNG)。我想把它们转换成小写的 .png 格式。我在网上找到了一个脚本,但我运行不了。
这是我找到的脚本:
files = os.listdir(cur_dir)
for filename in files:
file_ext = os.path.splitext(filename)[1]
if old_ext == file_ext:
newfile = filename.replace(old_ext, new_ext)
os.rename(filename, newfile)
当我在终端运行这个脚本时,出现了错误:
NameError: name 'filename' is not defined
这可能是什么问题呢?
6 个回答
0
你应该把 old_ext
定义为 .PNG
,把 new_ext
定义为 .png
。
0
如果当前的工作目录不是 cur_dir
,那么就会出错。这是因为 os.listdir()
只返回文件名的列表,而不包含路径。所以你需要切换到
os.rename(os.path.join(cur_dir, filename), os.path.join(cur_dir, newfile))
这个目录。
5
试试这个,真的有效哦(可别把PNGX.PNG改成pngX.png哦;)
import os
files = os.listdir(".")
for filename in files:
file_wo_ext, file_ext = os.path.splitext(filename)
if file_ext == ".PNG":
newfile = file_wo_ext + ".png"
os.rename(filename, newfile)