这段代码按名称搜索zip文件,并将它们提取到特定路径中。当我在桌面上运行它时,一切都很好,但当我试图在Windows服务器上运行它时,它会崩溃并出现以下错误:
Cant find file...
Cant find file path...
或者它只从.zip
中提取一些文件而不是所有文件。
def find_archive(path):
for root, dirs, files in os.walk(path):
for name in files:
if name.count("MYFILE")>0 and (name.count(".rar")>0 or name.count(".zip")>0):
return (os.path.join(root,name))
archicve_path = find_archive('/')
archName=archicve_path[archicve_path.rfind('\\')+1:]
archName=archName[:archName.rfind('.')]
print(archicve_path)
whereput= str(pathlib.Path.home())+"/Desktop/"+archName
os.makedirs(whereput)
print("Unpack to ", whereput)
with zipfile.ZipFile(archicve_path, 'r') as zip_ref:
zip_ref.extractall(whereput,exist_ok=True)
print("Unpacked")
我尝试使用shutil.unpack
并在make目录后设置exists_ok=True
,但它不起作用。
1条答案
按热度按时间6ojccjat1#
将
'r'
更改为'rb'
........