Доступ к файлу rar5 с помощью python - FileNotFoundError - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь прочитать файл rar5, не распаковывая его. Я могу добраться до файлов внутри rar и показать детали. Но когда я пытаюсь прочитать их, он показывает, что файл не найден.

Мой код:

        myrar = "\\\\network/share/to/file/xyz.zip"
        #the above is actually a rar5 file
        rf = rarfile.RarFile(myrar)
        for f in rf.infolist():
            print (f.filename, f.file_size)
            with rf.open(f.filename) as fa:
                for ln in fa:
                    print(ln.strip())

Ошибка:

Traceback (последний вызов был последним): File "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 2813, в файле custom_popen creationflags = creationflags) «C: _data \ learn \ Miniconda \ lib \ subprocess.py», строка 775, в init restore_signals, start_new_session) Файл «C: _data \ learn \ Miniconda \ lib \ subprocess.py», строка 1178, в _execute_child startupinfo) FileNotFoundError: [WinError 2] Системе не удается найти указанный файл

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний вызов был последним): файл "FTP.py", строка 88, в с rf.open (f.filename) как fa: файл "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 756, в файл open return self._file_parser.open (inf, psw) "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 1131, в файл open return self._open_hack (inf, psw) "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 1884, в _open_hack вернуть файл self._open_hack_core (inf, psw, RAR5_ID + main_hdr, endarc_hdr) "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 1169, в _open_hack_core вернуть self._open_unrar (tmpname, inf, psw, tmpname) Файл "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 1191, в _open_unrar вернуть файл PipeReader (self, inf, cmd, tmpfile) "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 2142, в init super (PipeReader, self). init (rf, inf) Файл "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 1983, в init self._open () Файл "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 2165, в _open self._proc = custom_popen (self._cmd) Файл "C: _data \ learn \ Miniconda \ lib \ site-packages \ rarfile.py", строка 2816, в custom_popen повысить RarCannotExec ("Unrar не установлен? (rarfile.UNRAR_TOOL =% r) "% UNRAR_TOOL) rarfile.RarCannotExec: Unrar не установлено? (Rarfile.UNRAR_TOOL = 'UnRAR') * * тысяча двадцать-один

...