python模块整理6tarfile模块

摘要:
官方文件:http://docs.python.org/library/tarfile.html#module-Tarfile 1。打包并制作文件˃˃statement=“This isabigline that…..”˃˃使用open('/root/targeFile.txt','w')asmyfile:。。。foxinxrange(20000):。。。x+=1…myfile。w

官方文档:http://docs.python.org/library/tarfile.html#module-tarfile

一、打包
制作文件
>>> statement="This is a big line that ........"
>>> with open('/root/largeFile.txt','w') as myfile:
... for x in xrange(20000):
... x+=1
... myfile.write("%s\n" % statement )
1、打包文件
>>> tar=tarfile.open('/root/largeFile.txt.tar','w')
>>> tar.add('/root/largeFile.txt')
>>> tar.close()
2、打包目录
>>> tar=tarfile.open('temp.tar','w')
>>> tar.add('/tmp')
>>> tar.close()
os.walk遍历打包的目录
tar=tarfile.open('temp_walk.tar','w')
for root.dir,files in os.walk('tmp'):
for file in files:
fullpath=os.path.join(root,file)
tar.add(fullpath)
tar.close()
二、压缩
1、bz2压缩
tar=tarfile.open("largefile.tz2","w|bz2")
tar.add('largeFile.txt')
>>>tar.close()
# tar -jtvf largefile.tz2
-rw-r--r-- 0 root wheel 655360 Mar 14 22:21 largeFile.txt
2、gzip压缩
>>>tar=tarfile.open("tmpdir.tgz","w|gz")
>>>tar.add('/tmp')
>>>tar.close()
#tar -ztvf tmpdir.tgz
三、检查tar文件的内容
>>>import tarfile
>>>tar=tarfile.open('largefile.tar','r')
>>>tar.list()
-rw-r--r-- root/wheel 655360 2012-03-14 22:21:18 largeFile.txt
>>>tar.name
'/root/largefile.tar'
>>>tar.getnames() 返回只显示名字不显示其他信息的列表
>>>tar.members
[<TarInfo 'largeFile.txt' at 0x2976be6c>]

bz2压缩的
>>>tar=tarfile.open('tmpdir2.tz2','r|bz2')
>>>tar.list()
xr-xr-x root/wheel 916 2012-03-14 21:54:01 tmp/sync_dir_A/bgfsck
-r-xr-xr-x root/wheel 9401 2012-03-14 21:54:01 tmp/sync_dir_A/bluetooth
>>>tar.name
'/root/tmpdir2.tz2
>>>tar.getnames() 返回只显示名字不显示其他信息的列表
'tmp/sync_dir_A/ypupdated',
>>>tar.members
[<TarInfo 'tmp' at 0x29717cec>,
<TarInfo 'tmp/.snap' at 0x29717a2c>,
<TarInfo 'tmp/.X11-unix' at 0x29717b2c>,
<TarInfo 'tmp/.XIM-unix' at 0x2971c06c>,

gzip压缩的
>>>tar=tarfile.open('tmpdir1.tgz','r|gz')
>>>tar.list()
-rwxrwxrwt root/wheel 0 2012-03-14 21:54:05 tmp/
-rwxrwxr-x root/operator 0 2012-03-10 20:17:46 tmp/.snap/
>>> tar.name
'/root/tmpdir1.tgz'
>>> tar.getnames()
['tmp',
'tmp/.snap',
'tmp/.X11-unix',
'tmp/.XIM-unix',
'tmp/.ICE-unix',
'tmp/.font-unix',
'tmp/python.data',
'tmp/aprHZAuuw',
>>> tar.members
[<TarInfo 'tmp' at 0x28e3852c>,
<TarInfo 'tmp/.snap' at 0x28e382ec>,
<TarInfo 'tmp/.X11-unix' at 0x28e382

四、解压缩 tar.extractall()
>>> import os
>>> import tarfile
>>> os.getcwd()
'/tmp'
>>> os.chdir('/root')
>>> os.mkdir('/root/tar_tempdir')
>>> os.chdir('/root/tar_tempdir')
>>> tar=tarfile.open('/root/tmpdir1.tgz','r|gz')
>>> tar.extractall()
>>> tar.close()
>>> os.listdir(".")
['tmp']
>>> os.listdir("./tmp")
['.snap', '.X11-unix', '.XIM-unix', '.ICE-unix', '.font-unix', 'python.data', 'aprHZAuuw', 'mpmtx13970', 'mpmtx13971', 'mpmtx13972', 'mpmtx13973', 'mpmtx13974', 'mpmtx13975', 'mpmtx13976', 'mpmtx13977', 'Shell2.sh', 'file.txt', 'gdchart0.11.5dev.tar.gz', 'gdchart0.11.5dev', 'pygdchart2_0.beta1.orig.tar.gz', 'pygdchart2alpha2', 'rootdir', 'testfile2', 'pygdchart2_0.beta1-3.4.diff', 'os_rename', 'file1', 'TSFILE', 'test_mv', 'file2', 'file3', 'dir1', 'dir2', 'sync_dir_B', 'sync_dir_A']

免责声明:文章转载自《python模块整理6tarfile模块》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇opencv使用openPose实现人体姿态检测PL/SQL下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux网络编程--UNIX域套接字

UNIX域套接字   socket同样可以用于本地通信   创建套接字时使用本地协议PF_UNIX(或PF_LOCAL)PF_LOCAL   分为流式套接字和用户数据报套接字   和其他进程间通信方式相比使用方便。效率更高   用于前后台进程通信 本地地址结构:  struct sockaddr_un {   sa_family_t sun_family;...

Linux打包与压缩及tar命令详解

打包和压缩   在linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助   打包   将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一般打包后的文件大小比被打包的文件总和还大   压缩   将一个文件根据一定的算法变成一个小文件,压缩比用来衡量压缩前与压缩后的文件大小比值     压...

使用logstash同步Mysql数据表到ES的一点感悟

针对单独一个数据表而言,大致可以分如下两种情况: 1.该数据表中有一个根据当前时间戳更新的字段,此时监控的是这个时间戳字段 具体可以看这个文章:https://www.cnblogs.com/sanduzxcvbnm/p/12858967.html 示例: modification_time就是表中要监控的时间戳字段 input { jdbc {...

【转】PHP实现系统编程(四)--- 本地套接字(Unix Domain Socket)

原文:http://blog.csdn.net/zhang197093/article/details/78143687?locationNum=6&fps=1 ---------------------------------------------------------------------------------------------...

UNIX网络编程——网络IPC:套接字

Contents 套接字接口 套接字描述符 寻址 字节序 地址格式 地址查询 绑定地址 建立连接 数据传输 套接字选项 带外数据 UNIX域套接字 使用套接字的示例 面向连接的ruptime 无连接的ruptime 套接字接口       套接字接口是一组用来结合UNIX I/O函数进行进程间通信的函数,大多数系统上都实现了它,包括各...

Qt 之 pro 配置详解

原文地址:https://blog.csdn.net/liang19890820/article/details/51774724 简述 使用Qt的时候,我们经常会对pro进行一系列繁琐的配置,为方便大家理解、查找,现将常用的配置进行整理。 |版权声明:一去、二三里,未经博主允许不得转载。 配置 注释 以“#”开始,到这一行结束。快捷键:Ctrl +...