【发布时间】:2018-03-22 08:56:33
【问题描述】:
我有一个关于如何在使用 python 将文件从 psd 转换为 jpg 后保存文件的问题。因为我想检查每个文件,所以我使用了 os.walk 函数。这是我的代码。 当我运行它时,我有这个错误。
FileNotFoundError: [Errno 2] 没有这样的文件或目录:'test02.psd'
我要保存文件的文件夹与 python 文件属于同一类别。 但是 psd 文件位于某个子文件夹中。
我该如何克服这个问题?
from PIL import Image
import os
for path, dir, files in os.walk('.'):
for file in files:
if file.endswith('.psd'):
print('The {} is being converted to jpg...'.format(file))
i = Image.open(file)
fn, fext = os.path.splitext(file)
try:
i.save('jpgs/{}.jpg'.format(fn)) # I created a folder named 'jpgs' already.
except Exception as e:
print(e)
【问题讨论】:
-
哪一行会抛出这个错误?
-
@Aran-Fey 关闭,但不完全相同。你的建议是关于
os.listdir -
@Jean-FrançoisFabre 问题是一样的,
listdir与否。如果您愿意,我可以将其重写为listdir和os.walk的规范欺骗。 -
抱歉不同意,您必须找到更好的副本。
os.listdir返回文件 names,os.walk返回一个三元组根+文件列表+每个目录的目录列表。没那么容易掌握。再加上用户使用当前目录并希望它能神奇地解决它。 -
关于 2 个不同功能的规范?这有点牵强。我不喜欢重复和回答重复的用户知道重复存在只是为了代表。如果我找到一个好的,我会关闭。