当前位置: 首页 > 后端技术 > Python

python文件解压

时间:2023-03-26 15:54:52 Python

请求网络zip资源,下载后解压,将解压后的文件内容复制到剪贴板frompyperclipimportcopyimportzipfilefromosimportrenameimportosimportshutilimportrequestsimportgetpassdownload_dir=os.path.join(os.environ['HOME']+os.sep,“下载”)#download_dir=getpass.getuser()+os.sep+'Downloads'request_url='http://xxxx.com/a.zip'file_name=download_dir+os.sep+'xxx.zip'unzip_finder=download_dir+os.sep+'xxx'ifos.path.exists(file_name):os.remove(file_name)ifos.path.isdir(unzip_finder):shutil.rmtree(unzip_finder)#解压defunzip_file(zip_src,dst_dir):dst_dir=[dst_dirifdst_dir.endswith(os.sep)elsedst_dir+os.sep][0]withzipfile.ZipFile(zip_src,'r')asfd:forzfileinfd.namelist():gbkfilename=zfile.encode('cp437').decode('GBK')fd.extract(zfile,dst_dir)rename(''.join([dst_dir,zfile]),''.join([dst_dir,gbkfilename]))#请求资源和解压缩复制内容到剪贴板deffetch_jets():request=requests.get(request_url)如果request.status_code==200:withopen(file_name,'wb')asf:f.write(request.content)unzip_file(file_name,unzip_finder)name1=[unzip_finder+os.sep+f.title()对于finos.listdir(unzip_finder)iff.title().startswith('你明白了吗?')][0]#name1=[unzip_finder+os.sep+f.title()forfinos.listdir(unzip_finder)iff.title().find('你懂得?')>0][0]withopen(name1,'r',encoding='utf-8')asf:content=f.read()copy(content)print('恭喜!!!')else:print('网络请求出错...')fetch_jets()