我是python的初学者。我试图从一个文件夹中读取所有ascii文件,并在将它们转换为Image后,我希望将它们全部保存到同一目录中的不同文件夹中。代码正在运行,但我没有得到任何输出,也没有显示错误。
没有循环的代码,单个图像工作正常。
请帮忙。
import os
import glob
import numpy as np
from PIL import Image
path = r'D:\user\ASCII'
outpath = 'D:\user\ASCII\TIFF'
filenames = glob.glob(path + "/*.asc") #read all files in the path mentioned
for x in filenames:
myarray = np.loadtxt(x, skiprows=9)
im = Image.fromarray(myarray)
im.save(outpath + '/*.tif')
答案 0 :(得分:3)
save()
函数中有一个星号,没有任何意义,它没有任何内容可供选择。它不会自动替换glob函数中的*
匹配。我想你想做的事情
src_fname, ext = os.path.splitext(x) # split filename and extension
# construct output filename, basename to remove input directory
save_fname = os.path.join(outpath, os.path.basename(src_fname)+'.tif')
im.save(save_fname)
请记住使用os.path
模块函数,而不是使用斜杠连接文件名,因为它们可以在每个平台上正确处理边缘情况。