0
フォルダ内のすべてのファイル(サブフォルダを含む)を再帰的にリストし、zipファイルを解凍しようとしています。これは私がやっていることです:フォルダ内のファイルを再帰的にリストし、zipファイルを解凍します
def scan(real_path):
matches = []
for root, dirnames, filenames in walk(real_path):
for filename in fil(filenames, '*'):
matches.append(path.join(root, filename))
return matches
def unzip(destination, path):
z = ZipFile(path, mode = "r")
for archive in z.namelist():
content = z.read(archive)
archive = open("%s/%s" % (destination, archive), "w")
archive.write(content)
z.close()
def startup_files(starting_over = False):
print "STARTING FILES AGAIN..." if starting_over else \
"STARTING FILES..."
x = scan(folder)
print "Files found in folder:"
print x
for archive in x:
archive = Archive.details(archive)
print "READING:", archive.full_path
if archive.extension == ".ZIP":
unpack_zip(archive)
remove(archive.full_path)
startup_files(True)
これは、この奇妙なエラーの原因です。 SFPDB001.GBK
出力は次のとおりです:
反復1:OK
STARTING FILES...
Files found in folder:
['arp\\_input\\backups\\1.zip', 'arp\\_input\\backups\\2.ZIP']
READING: C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\1.zip
イテレーション2:私は、私は、このファイルを持っているファイルで2つのファイル、1.zip
と2.ZIP
、とスクリプトをテストしていOK
STARTING FILES AGAIN...
Files found in folder:
['arp\\_input\\backups\\2.ZIP', 'arp\\_input\\backups\\SFPDB001.GBK']
READING: C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\2.ZIP
反復3:エラー:スキャン機能がフォルダ内の正しいファイルを見つけていますが、反復処理が試行されていますo利用できないファイルに到達する。
STARTING FILES AGAIN...
Files found in folder:
['arp\\_input\\backups\\SFPDB001.GBK']
READING: C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\SFPDB001.GBK
READING: C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\SFPDB001.GBK
READING: C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\2.ZIP
C:\Users\G1745 IRON\Development\LL\ARP\arp\_input\backups\2.ZIP
Traceback (most recent call last):
File "arp\__main__.py", line 22, in <module>
main()
File "arp\__main__.py", line 18, in main
ARP(p.parse_args()).run()
File "C:\Users\G1745 IRON\Development\LL\ARP\arp\arp.py", line 26, in run
self.startup_files()
File "C:\Users\G1745 IRON\Development\LL\ARP\arp\arp.py", line 46, in startup_files
self.unpack_zip(archive)
File "C:\Users\G1745 IRON\Development\LL\ARP\arp\arp.py", line 62, in unpack_zip
Zip.unzip(self.folder, archive.full_path)
File "C:\Users\G1745 IRON\Development\LL\ARP\arp\zip.py", line 17, in unzip
z = ZipFile(path, mode = "r")
File "C:\Python25\lib\zipfile.py", line 339, in __init__
self.fp = open(file, modeDict[mode])
IOError: [Errno 2] No such file or directory: 'C:\\Users\\G1745 IRON\\Development\\LL\\ARP\\arp\\_input\\backups\\2.ZIP'
私はなぜこれが起こっている任意のアイデアを持っていない...私は、JSの背景を持っている、と私は今のpythonで始まるので、私は何かをする必要があるかどうかは知りません。
OBS:私はPython v2.5を使用しています。レガシーコードです。
まあ、エラーは私たちの多くの可能性を残しません...ファイル 'C:\\ Users \\ G1745 IRON \\開発\\ LL \\ ARP \\ arp \\ _入力\\バックアップ\\ 2。 ZIPは全く存在していないようだ。たぶんそれはスペルミスですか? – lucasnadalutti
ところで、あなたが言ったように、エラーは繰り返し3にはありません...それはまだ反復2です。 – lucasnadalutti
ファイルはプログラムの開始時に存在しますが、2回目の反復で削除されます。 2番目の反復は、スキャンされたファイルの配列にないファイルを繰り返しています...本当に奇妙なことです。 –