私は2つのtar.gzファイル2014_SRS.tar.gzと2013_SRS.tar.gzを持っています。各ファイルにはSRSという名前のフォルダがあり、テキストファイルがいっぱいです。私はftpサーバからこれらをダウンロードしました。 Pythonで自動的に解凍したいと思っています。これは私のコードです:なぜ両方のtar.gzファイルを展開しないのですか?
import re
import ftplib
import os
import time
import tarfile
import sys
print('1')
tar = tarfile.open('2014_SRS.tar.gz')
tar.extractall()
tar.close()
print('2')
tar = tarfile.open('2013_SRS.tar.gz')
tar.extractall()
tar.close()
print('3')
このコードは、2番目のファイルのみを開きます。どのようにして両方のファイルを開くように修正できますか?
また、forループを使用してディレクトリ全体を実行しようとしました。コードを以下に示します。
for i in os.listdir(os.getcwd()):
if i.endswith(".tar.gz"):
tar = tarfile.open(i, "r:gz")
tar.extractall()
tar.close()
しかし、これは私にEOFErrorを与えました。さらに、少しのコードを実行する前に、両方のファイルを手動で解凍することができました。しかし、私はそれを実行した後、コードが私にエラーを与える後、私はもう手動で2014_SRSファイルを解凍することはできません。これをどうやって解決するのですか?
ファイルの内容は同じですか?もしそうなら、私は最初のファイルの抽出結果を上書きする2番目のファイルを抽出すると思います。しかし、ファイルについてもっと知ることなく、誰でもあなたを助けることはほぼ確実に不可能です。 – Blckknght
各ファイルを別のディレクトリに配置します。コードを繰り返して、出力ファイルを比較してください。 –
@Blckknghtファイルの内容は同じ名前です。しかし、どのように注文しても(つまり、2014_SRSまたは2013_SRSから抽出するかどうかにかかわらず)、2013_SRSのフォルダでのみ終了します –