废话不多说,直接上码
压缩文件
提前要安装一下zipfile的包哟!
#没有zipfile包的童鞋请打开你的cmd
#pip install zipfile
import zipfile
import os
def zipping(startdir):
file_new = startdir+'.zip'
z = zipfile.ZipFile(file_new,'w',zipfile.ZIP_DEFLATED)
for dirpath, dirnames, filenames in os.walk(startdir):
#fpath = dirpath.replace(startdir,'')
#fpath = fpath and fpath + os.sep or ''
for filename in filenames:
z.write(os.path.join(dirpath,filename))
z.close()
while(1):
startdir = input("Input the dir")
if startdir=="":
startdir = pyperclip.paste()
print(startdir)
zipping(startdir)
print("success")
打包好的程序会直接在上级目录里显示。
解压文件
需要提前安装unrar 和pypclip包哟,和上边的一样pip install unrar/pypclip ,就完事了~
有打包成".rar" 和 ".zip"的两种方法,运行脚本后想打包成rar的话输入1,zip的话输入2
import os
import zipfile
import pyperclip
from unrar import rarfile
case = input("rar=1 zip=2:")
if case == str(1):
dir1 = input("请输入要解压的路径,或者将路径贴到粘贴板上")
if dir1 =="":
dir1 = pyperclip.paste()
print(dir1)
dir2 = input("请输入解压到的路径,或将路径粘贴到剪切板上")
if dir2 =="":
dir2 = pyperclip.paste()
print(dir2)
file =rarfile.RarFile(dir1)
file.extractall(dir2)
if case == str(2):
dir1 = input("请输入要解压的路径,或者将路径贴到粘贴板上")
if dir1 =="":
dir1 = pyperclip.paste()
print(dir1)
dir2 = input("请输入解压到的路径,或将路径粘贴到剪切板上")
if dir2 =="":
dir2 = pyperclip.paste()
print(dir2)
if zipfile.is_zipfile(dir1):
zp = zipfile.ZipFile(dir1,'r')
for file in zp.namelist():
zp.extract(file,dir2)
上面的脚本可以指定解压到的地址,嫌麻烦的童鞋可以直接ctrl+c一下,把要解压或解压到的地址贴到剪切板上。是不是很贴心~
更加炫酷的功能
hunkydory:用CMD来运行python文件zhuanlan.zhihu.com