2017-02-21 13 views
1

私は初心者です。 1つのフォルダからすべてのasciiファイルを読み込もうとしていて、Imageに変換した後、それらをすべて同じディレクトリの別のフォルダに保存したい。コードは実行されていますが、出力が得られず、エラーも表示されません。複数の画像をフォルダに読み込んで保存:Python

ループのないコードは、単一の画像のために完全に動作しています。

助けてください。あなたは意味をなさないsave()機能にアスタリスクを持つ

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') 

答えて

2

、それが一致するには何もしています。グロブ関数の一致を自動的に代用することはありません。*私は、あなたは彼らがすべてのプラットフォーム上で正しくエッジケースを扱うよう代わりにスラッシュを含むファイル名を連結したos.pathモジュールの機能を使用することを忘れないでください、この

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) 

ような何かをやりたいと思います。

+0

ありがとうございました。ファイル名と拡張子を分割すると、 'np.loadtext'は機能しません。 –

+0

'np.loadtxt(x)'を使った後、分割します。元の 'x'変数は完全な有効なファイル名です。 –

関連する問題