2015-04-16 113 views
2

我想使用pyunpack unrar文件,但我总是得到一个错误。 如果我使用一个zip文件,一切正常,但没有rar文件。 这是我的代码:解压rar文件在Python中的错误

from pyunpack import Archive 
Archive('C:/Users/Username/Desktop/teste/Desktop2.rar').extractall('C:/Users/Username/Desktop/teste') 

这是错误我得到:

Traceback (most recent call last): 
    File "c:\Python34\lib\site-packages\easyprocess\__init__.py", line 255, in start 
    cwd=self.cwd, 
    File "c:\Python34\lib\subprocess.py", line 859, in __init__ 
    restore_signals, start_new_session) 
    File "c:\Python34\lib\subprocess.py", line 1112, in _execute_child 
    startupinfo) 
FileNotFoundError: [WinError 2] The system couldn't find the specified file 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "C:\Users\Username\Documents\NetBeansProjects\Teste\src\main.py", line 17, in <module> 
    Archive('C:/Users/Username/Desktop/teste/Desktop2.rar').extractall('C:/Users/Username/Desktop/teste') 
    File "c:\Python34\lib\site-packages\pyunpack\__init__.py", line 81, in extractall 
    self.extractall_patool(directory) 
    File "c:\Python34\lib\site-packages\pyunpack\__init__.py", line 47, in extractall_patool 
    ]).call() 
    File "c:\Python34\lib\site-packages\easyprocess\__init__.py", line 223, in call 
    self.start().wait(timeout=timeout) 
    File "c:\Python34\lib\site-packages\easyprocess\__init__.py", line 260, in start 
    raise EasyProcessError(self, 'start error') 
easyprocess.EasyProcessError: start error <EasyProcess cmd_param=['patool', 'extract', Path('C:\\Users\\Username\\Desktop\\teste\\Desktop2.rar'), Path('--outdir=C:\\Users\\Username\\Desktop\\teste')] cmd=['patool', 'extract', Path('C:\\Users\\Username\\Desktop\\teste\\Desktop2.rar'), Path('--outdir=C:\\Users\\Username\\Desktop\\teste')] oserror=[WinError 2] The system couldn't find the specified file returncode=None stdout="None" stderr="None" timeout=False> 

你有什么可能是问题的任何想法?

+0

尝试安装'patool'软件包。没有它,只有zip文件可以解压缩。 – fenceop

+1

已经做到了。 “再次安装patool”,它说“要求已经满足”,所以我认为这不是问题。 –

+0

我得到同样的错误,我不知道是什么原因造成的,对不起。 – fenceop

回答

1

这个问题可能是你没有你的unraring工具路径,这意味着它不能从从命令行调用(这是exacly什么patool一样)。只要把你的7-zip(或其他你正在使用的)文件夹放到路径中就行了。