0
リンクのリストをコンパイルしてリンクをダウンロードするために、次のコードを一緒に書きました。リンクは.zipアーカイブとしてダウンロードされ、各.zipアーカイブには、抽出され、親zipフォルダと同じ名前の.tifイメージが1つ含まれます。スクリプトのすべては、以下のzipフォルダの部分を抽出して名前を変更する以外は正しく動作します解凍と名前を変更
スクリプトは実行されますが、出力を表示すると.tifは正しいディレクトリにありますが名前は変更されません。
抽出された.tifの名前を変更するスクリプトを取得する正しい方法は何ですか?
も改善のための他の提案は
FULL SCRIPT
import pandas as pd
import urllib
import os
import zipfile
data = pd.read_csv('StateRaster.csv')
links = data.SCAN_URL
file_names = data.API_NUMBER +"_"+ data.TOOL
dir = data.FOLDER +"/"+ data.SECTION2
root='g:/Data/Wells'
n=0
e=0
for link, file_name,dir in zip(links, file_names,dir):
try:
u = urllib.request.urlopen(link)
udata = u.read()
os.makedirs(os.path.join(root,dir), exist_ok=True)
f = open(os.path.join(root,dir,file_name+".zip"), "wb+")
f.write(udata)
f.close()
u.close()
zip_ref = zipfile.ZipFile((os.path.join(root,dir,file_name+".zip")), 'r')
#for filename in (os.path.join(root,dir,file_name+".zip")):
zip_ref.extractall((os.path.join(root, dir)))
for filename in ((os.path.join(root,dir))):
if filename.endswith(".tif"):
os.makedirs(os.path.join(root,dir,file_name+".tif"), exist_ok=True)
os.rename(filename,file_name+".tif")
zip_ref.close()
n += 1
print ('Pass',n,'Fail',e,'Total',n+e)
except:
e+=1
print ('Error-Pass',n,'Fail',e,'Total',n+e)
print("Done!!!!!")
。 –
後者のループを削除しますか? 'If filename.endswith(" tif "):'正常に名前を変更しますか? – gdink1020
'(for(os.path.join(root、dir)))'の 'for filenameで、ディレクトリ内のファイルを反復しようとしているようですが、代わりに' {ルート}/{dir} 'ループに 'filename'を印字してみてください。 –