日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

模块讲解----shutil模块(copy、压缩、解压)

發(fā)布時(shí)間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模块讲解----shutil模块(copy、压缩、解压) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作用與功能

主要用于文件的copy,壓縮,解壓

導(dǎo)入shuitl模塊:

import shutil

?

?copy方法

1 1、shutil.copyfileobj() ?打開(kāi)file1,并copy寫入file2: 2 with open("筆記1",'r',encoding='utf-8') as f1,open('筆記2','w',encoding='utf-8') as f2: 3 ? ?shutil.copyfileobj(f1,f2) 4 5 6 7 #輸入文件名就能直接拷貝(調(diào)用copyfileobj方法) 8 shutil.copyfile("筆記1","筆記3") 9 10 11 12 #拷貝權(quán)限,內(nèi)容,組,用戶均不變:(win看不出來(lái),linux下可以嘗試) 13 shutil.copymode("筆記1","筆記3") 14 15 16 17 #拷貝狀態(tài)的信息(只拷貝權(quán)限,不創(chuàng)建文件),包括:mode bits,atime,mtime,flags 18 shutil.copystat("筆記1","筆記3") 19 20 21 22 #拷貝文件和權(quán)限: 23 shutil.copy("筆記1","筆記3") 24 25 26 27 #拷貝文件和狀態(tài)信息:(文件和權(quán)限) 28 shutil.copy2("筆記1","筆記3") 29 30 31 32 33 #遞歸的去copy文件:(copy目錄) 34 shutil.copytree(r"D:\a",r"D:\a1") 35 例如:用python腳本實(shí)現(xiàn)代碼發(fā)布指定線上服務(wù)器,例如svn和git在發(fā)布的時(shí)候,有些文件是不需要進(jìn)行拷貝的,因襲就需要進(jìn)行過(guò)濾 36 方法如下: 37 shutil.copytree('f1', 'f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) 38 39 40 41 #遞歸的刪除目錄:(有鏈接占中目錄,刪除報(bào)錯(cuò)) 42 shutil.rmtree(r"D:\a1") 43 44 45 46 #移動(dòng)文件: 47 shutil.move(r"D:\a",r"D:\a1")

?

壓縮和解壓縮方法

1 1、全目壓縮: 2 #創(chuàng)建壓縮包,并返回文件路徑:例如:zip tar 3 #創(chuàng)建壓縮包并返回文件路徑,例如:zip、tar 4 #格式:shutil.make_archive(base_name,format(zip),root_dir,owner,group,logger) 5 # base_name: 壓縮包的文件名,也可以是壓縮包的路徑。只是文件名時(shí),則保存至當(dāng)前目錄,否則保存至指定路徑, 6 # 如:www ? ? ? ? ? ? ? ? ? ? ? =>保存至當(dāng)前路徑 7 # 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/ 8 # format: 壓縮包種類,“zip”, “tar”, “bztar”,“gztar” 9 # root_dir: 要壓縮的文件夾路徑(默認(rèn)當(dāng)前目錄) 10 # owner: 用戶,默認(rèn)當(dāng)前用戶 11 # group: 組,默認(rèn)當(dāng)前組 12 # logger: 用于記錄日志,通常是logging.Logger對(duì)象 13 #將 /Users/wupeiqi/Downloads/test 下的文件打包放置當(dāng)前程序目錄 14 15 import shutil 16 ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test') 17 ? 18 #將 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目錄 19 import shutil 20 ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test') 21 ? 22 #將D:\軟件\pychar\data\s13\Atm目錄下的文件打包放置在D:\軟件\pychar\data\s13\Atm_name_tar文件下 23 shutil.make_archive(r"D:\軟件\pychar\data\s13\Atm_name_tar","tar","D:\軟件\pychar\data\s13\Atm") 24 25 ========================================================================== 26 三、解壓方法和指定文件的壓縮和解壓: 27 28 2、Zip單個(gè)文件壓縮與解壓:(打包在壓縮) 29 (壓縮包也可以當(dāng)做一個(gè)文件,想要加入壓縮文件的話可以直接寫進(jìn)壓縮包里) 30 31 2.1:#寫入指定壓縮文件(w) 32 z = zipfile.ZipFile(r'D:\軟件\pychar\data\test\node.zip', 'w') 33 z.write('筆記1') 34 z.write('筆記3') 35 z.close() 36 37 2.2 #追加指定壓縮(a) 38 z = zipfile.ZipFile(r'D:\軟件\pychar\data\test\node.zip', 'a') 39 z.write('test.py') 40 z.write('md_sys_test.py') 41 z.close() 42 43 44 2.3:z.extractall() ? 解壓所有文件:(所有文件) 45 os.chdir(r"D:\軟件\pychar\data\test") 46 z = zipfile.ZipFile("node.zip",'r') 47 z.extractall() ? 48 z.close() 49 50 51 2.4:z.extract('test.py') ?解壓指定文件: 52 只需要傳輸字符串格式的文件名即可 53 os.chdir(r"D:\軟件\pychar\data\test") 54 z = zipfile.ZipFile("node.zip",'r') 55 for item in z.namelist(): 56 ? ?if item == 'test.py': 57 ? ? ? ?z.extract('test.py') 58 z.close() 59 60 61 62 63 64 ============================================================================================= 65 3、tar單個(gè)文件壓縮與解壓:(tar只打包不壓縮) 66 3.1、寫入指定壓縮文件(w) 67 import tarfile 68 ? 69 tar = tarfile.open(r'D:\軟件\pychar\data\test\your.tar','w') 70 tar.add(r'D:\軟件\pychar\data\test\test.py', arcname='bbs2.log') 71 tar.add(r'D:\軟件\pychar\data\test\md_sys_test.py', arcname='cmdb.log') 72 tar.close() 73 74 3.2、添加指定壓縮文件(a) 75 tar = tarfile.open(r'D:\軟件\pychar\data\test\your.tar','a') 76 tar.add(r'D:\軟件\pychar\data\test\筆記1', arcname='node1.txt') 77 tar.add(r'D:\軟件\pychar\data\test\筆記3', arcname='node3.txt') 78 tar.close() 79 80 81 3.3、解壓所有文件 82 os.chdir(r"D:\軟件\pychar\data\test") 83 tar = tarfile.open('your.tar','r') 84 tar.extractall() ?# 可設(shè)置解壓地址 85 tar.close() 86 87 3.4、解壓指定文件 88 tar.getmembers():遍幣所有壓縮包內(nèi)的文件對(duì)象(非文件字符串) 89 tar.getmember("node1.txt"):指定壓縮包內(nèi)的某個(gè)文件 90 os.chdir(r"D:\軟件\pychar\data\test") 91 tar = tarfile.open('your.tar','r') 92 for item in tar.getmembers(): 93 ? ?job = tar.getmember("node1.txt") 94 ? ?if item == job: 95 ? ? ? ?tar.extract(job) 96 tar.close()

轉(zhuǎn)載于:https://www.cnblogs.com/abobo/p/8075152.html

總結(jié)

以上是生活随笔為你收集整理的模块讲解----shutil模块(copy、压缩、解压)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九精品视频在线观看 | 制服av网 | 四月婷婷 | 久久亚洲天堂 | 欧美人体一区二区 | 日韩成人欧美 | 污视频在线播放 | 女人扒开腿让男人捅爽 | 成人av毛片| 女同调教视频 | 俄罗斯毛片 | 成人αv| 亚洲久久色| 手机看片福利视频 | 天天干少妇 | 午夜在线看片 | 国产精品资源网站 | 污污在线观看视频 | 高潮毛片无遮挡 | 国产乱码精品一区二区三区精东 | 69激情网| 国产综合视频一区二区 | 丁香婷婷六月天 | 天天看片天天操 | 国产欧美日韩91 | 精品国产福利 | 国产又粗又猛 | 国产毛片在线 | 国产免费一区二区三区四区五区 | aaaaaaa毛片| 欧美一级特黄aaaaaa | 国产区一区二区 | 大肉大捧一进一出好爽mba | 人人艹人人爽 | 成人激情在线视频 | 超碰97人 | 在线观看第一页 | 91亚洲高清| 成人影 | 九九九九久久久久 | 美国一级大黄一片免费中文 | 91亚洲精品久久久蜜桃 | 蜜臀av性久久久久av蜜臀妖精 | 亚洲精品66 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 日韩大尺度在线观看 | 91caob| 久久av一区二区三 | 夜夜爱夜夜操 | 日本亲与子乱ay中文 | 精品福利影院 | 国产精品视频一区二区三区, | 狠狠干夜夜骑 | youjizz韩国| 欧美第九页 | 午夜电影你懂的 | 清清草在线视频 | 久久6| 欧美69视频 | 探花国产在线 | 少妇无套高潮一二三区 | 欧美在线视频一区 | 欧美高清免费 | 亚洲人成电影在线 | 色黄视频网站 | 91国偷自产中文字幕久久 | 精品国产一区二区三区久久狼黑人 | 伊人久久久久噜噜噜亚洲熟女综合 | 丁香花高清在线观看完整动漫 | 国产乱了高清露脸对白 | 91肉色超薄丝袜脚交一区二区 | 国产亚洲精品成人a | 日本公与丰满熄 | 裸体黄色片 | 国产亚洲欧美日韩精品一区二区三区 | 总裁憋尿呻吟双腿大开憋尿 | 中文字幕高清 | 你懂的欧美 | 亚洲少妇激情 | 日韩久久一区二区 | 少妇人妻互换不带套 | 中文在线日本 | 日韩欧美激情 | 成人小说亚洲一区二区三区 | 亚洲第1页 | 国产午夜精品久久久久久久久久 | 欧美性生话| 亚洲天堂首页 | x88av视频 | 一区二区在线视频播放 | 亚洲一区自拍 | 亚洲淫| 欧美三级一级 | 日韩六九视频 | 久插网 | 亚洲视频一 | 欧美毛片在线 | 69黄色片 | 国产性生活毛片 |