[英]Python: Converting all files in a folder to JPG, but only JPG and PNG should be considered
[英]Converting all files (.jpg to .png) from a directory in Python
我正在嘗試將目錄中的所有文件從 .jpg 轉換為 .png。 名稱應該保持不變,只是格式會改變。
我一直在做一些研究並得出以下結論:
from PIL import Image
import os
directory = r'D:\PATH'
for filename in os.listdir(directory):
if filename.endswith(".jpg"):
im = Image.open(filename)
im.save('img11.png')
print(os.path.join(directory, filename))
continue
else:
continue
我期待循環遍歷我所有的 .jpg 文件並將它們轉換為 .png 文件。 到目前為止,我只使用了 1 個名稱:'img11.png',我還沒有成功構建出能夠寫出足夠名稱的東西。
print(os.path.join(directory, filename))
工作,它打印我所有的文件,但關於轉換部分,它只適用於 1 個文件。
你們有什么想法可以幫助我完成整個過程嗎?
您可以將打開的圖像轉換為 RGB,然后您可以將其保存為任何格式。 您可以嘗試以下代碼:
from PIL import Image
import os
directory = r'D:\PATH'
c=1
for filename in os.listdir(directory):
if filename.endswith(".jpg"):
im = Image.open(filename)
name='img'+str(c)+'.png'
rgb_im = im.convert('RGB')
rgb_im.save(name)
c+=1
print(os.path.join(directory, filename))
continue
else:
continue
您明確地將每個文件保存為img11.png
。 您應該獲取jpg
文件的名稱,然后使用它來命名和保存png
文件。
name = filename[:-4]
im.save(name + '.png')
我會使用 os.rename() 函數,如下所示。
import os
directory = r'D:\PATH'
for filename in os.listdir(directory):
prefix = filename.split(".jpg")[0]
os.rename(filename, prefix+".png")
請讓我知道這是否是您想要的。 在應用到預期文件夾之前,嘗試在測試文件夾中復制一些圖像的代碼。 祝一切順利。
from PIL import Image
import os directory = r'D:\PATH'
for filename in os.listdir(directory):
if filename.endswith(".jpg"):
prefix = filename.split(".jpg")[0]
im = Image.open(filename)
im.save(prefix+'.png')
else:
continue
請試試這個,讓我知道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.