shutil,zipfile,tarfile模組
阿新 • • 發佈:2019-01-03
一,shutil模組
1、shutil.chown()
shutil.chown('test.txt',user='mysql',group='mysql') #改變檔案的屬主和屬組.
2、shutil.copy()
shutil.copy('test.txt','test_copy.txt') #拷貝檔案
3、shutil.copy2()
shutil.copy2('test.txt','test_copy2.txt') #拷貝檔案並複製所有統計資訊,如修改時間等。
4、shutil.copyfile()
shutil.copyfile('test_ln.txt','test_copyfile.txt') #如果是連結檔案,將複製新檔案,不復制連結
5、shutil.copyfielobj()
shutil.copyfileobj(srcf,dstf,length=2) #按長度拷貝檔案物件
6、shutil.copymode()
shutil.copyfileobj(srcf,dstf,length=2) #按長度拷貝檔案物件
7、shutil.copystat()
shutil.copystat('test.txt','test_copymode.txt') #拷貝檔案的訪問和修改時間,其他不受影響
8、shutil.copytree()
shutil.copytree(src, dst, symlinks=False, ignore=None) #遞迴的去拷貝資料夾
9、shutil.rmtree()
shutil.rmtree(path[, ignore_errors[, onerror]]) #遞迴的去刪除檔案
10、shutil.move()
shutil.move(src, dst) #遞迴的去移動檔案,它類似mv命令,其實就是重新命名。
11、shutil.make_archive()
make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=0, owner=None, group=None, logger=None) '''建立壓縮包並返回檔案路徑: base_name:壓縮包的檔名,也可以是壓縮包的路徑,只是檔名時,儲存到當前目錄,否則儲存到指定路徑 format:壓縮包種類,‘zip’,'tar','bztar','gztar' root_dir:要壓縮的資料夾路徑(預設當前目錄) owner:使用者,預設當前使用者 group:組,預設當前組 logger:用於記錄日誌,通常是logging.Logger物件 '''
#將/root目錄下的所有檔案壓縮到media目錄下取名為www,壓縮格式為tar
ret = shutil.make_archive("/media/www",'tar',root_dir='/root')
#將檔案以tar格式壓縮到當前目錄下
ret = shutil.make_archive("ipython55",'tar',root_dir='/root/ipython-5.5.0')
二,模組zipfile,tarfile。
import zipfile
#壓縮
>>> z = zipfile.ZipFile('xin.tar.gz','w') #建立名為xin.tar.gz的壓縮檔案 >>> z.write('test.txt') #寫入檔案到壓縮檔案中 >>> z.write('log.txt') >>> z.close() #關閉檔案
#解壓縮
>>> z = zipfile.ZipFile('xin.tar.gz','r') #開啟壓縮檔案 >>> z.extractall(path='/python/day7') #解壓到指定路徑下 >>> z.close()
>>> import tarfile
#壓縮
>>> tar = tarfile.open('/usr/targzfile.tar.gz','w') #指定目錄建立壓縮檔案 >>> tar.add('/python/day7/test1.py',arcname='test1.py') #新增檔案到壓縮檔案中 >>> tar.add('/python/day7/test1.py',arcname='test2.py') >>> tar.close()
#解壓縮
>>> tar = tarfile.open('/usr/targzfile.tar.gz','w') #指定目錄建立壓縮檔案 >>> tar.add('/python/day7/test1.py',arcname='test1.py') #新增檔案到壓縮檔案中 >>> tar.add('/python/day7/test1.py',arcname='test2.py') >>> tar.close()