次のコードを使用して、ルートフォルダ内のすべてのzipフォルダを解凍しようとしています。このコードは、このスレッド上で見つかった:なぜzipfileはxlsxファイルを解凍しようとしていますか?
Traceback (most recent call last):
File "//rootdir/myfolder/Python code/unzip_helper.py", line 29, in <module>
zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0]))
File "//rootdir/myfolder/Python\Python36-32\lib\zipfile.py", line 1491, in extractall
self.extract(zipinfo, path, pwd)
File "//myaccount/Local\Programs\Python\Python36-32\lib\zipfile.py", line 1479, in extract
return self._extract_member(member, path, pwd)
File "//myaccount/Local\Programs\Python\Python36-32\lib\zipfile.py", line 1542, in _extract_member
open(targetpath, "wb") as target:
FileNotFoundError: [Errno 2] No such file or directory: '\\rootdir\myfolder\._SGS Naked 3 01 WS Kappa Coated and a very long very long file name could this be a problem i dont think so.xlsx'
私の質問は、なぜだろう:
Unzip zip files in folders and subfolders with python
rootPath = u"//rootdir/myfolder" # CHOOSE ROOT FOLDER HERE
pattern = '*.zip'
for root, dirs, files in os.walk(rootPath):
for filename in fnmatch.filter(files, pattern):
print(os.path.join(root, filename))
zipfile.ZipFile(os.path.join(root, filename)).extractall(os.path.join(root, os.path.splitext(filename)[0]))
は、しかし、私はFileNotFoundErrorはXLSXファイルが存在しないと言って言って、このエラーを取得しておきますそれはこのExcelファイルを解凍したいと思っています。
エラーを取り除くにはどうすればよいですか?
私はまた、ROOTPATHのための代わりのuのRを使用して試してみた:
rootPath = r"//rootdir/myfolder"
と私は同じエラーを取得します。
本当にありがとうございます。 Windowsのファイル名は、Unix上のドットを持つことができるとは異なり
私は 'os.path.join(root、os.path.splitext(filename)[0])が原因だと思います。 – direprobs
それはどういう意味ですか?他のzipフォルダでも動作します。それは約20のzipフォルダを正常に解凍しました – alwaysaskingquestions
エラーは、そのようなファイルやディレクトリがないことを明示的に述べています。言い換えれば、 '.xlsx'ファイルを解凍しようとしているのではなく、解凍するディレクトリがないと不平を言っています。いくつかのアーカイブを正常に解凍したとしても、これは 'os.path.join(root、os.path.splitext(filename)[0])'がアーカイブを常に解凍するための有効なパスを与えることを保証するものではありません。 – direprobs