importos,os.path
importzipfile
defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))
zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()
㈡ python压缩成tar
Python压缩文件为tar、gzip的方源码。需要应用到os、tarfile、gzip、string、shutil这几个Python类库中的方法。不同于Python Gzip压缩与解压模块,今天我们要用自己的方法实现压...
㈢ python 在不解压的情况下,怎么得知压缩包里面文件的大小呢
可以使用 tarfile 模块在不解压的情况下查看压缩包里文件的大小,代码如下:
#coding=utf8
importtarfile
importos
tar=tarfile.open('G:/test/abc.tar.gz','r:gz')
fortiintar:
ifti.isreg():
print(ti.name,ti.size)
㈣ python里面shutil是什么
shutil 是高级的文件,文件夹,压缩包处理模块。
1.shutil.fileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中
import shutil
shutil.fileobj(open('old.xml','r'), open('new.xml', 'w'))
2.shutil.file(src, dst)
拷贝文件
shutil.file('f1.log', 'f2.log')
3.shutil.mode(src, dst)
仅拷贝权限。内容、组、用户均不变
shutil.mode('f1.log', 'f2.log')
4.shutil.stat(src, dst)
仅拷贝状态的信息,包括:mode bits, atime, mtime, flags
shutil.stat('f1.log', 'f2.log')
5.shutil.(src, dst)
拷贝文件和权限
shutil.('f1.log', 'f2.log')
6.shutil.2(src, dst)
拷贝文件和状态信息
shutil.2('f1.log', 'f2.log')
7.shutil.ignore_patterns(*patterns)
shutil.tree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件夹
shutil.tree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
shutil.tree('f1', 'f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
8.shutil.rmtree(path[, ignore_errors[, onerror]])
递归的去删除文件
shutil.rmtree('folder1')
9.shutil.move(src, dst)
递归的去移动文件,它类似mv命令,其实就是重命名。
shutil.move('folder1', 'folder3')
10.shutil.make_archive(base_name, format,...)
创建压缩包并返回文件路径,例如:zip、tar
创建压缩包并返回文件路径,例如:zip、tar
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象
㈤ python中的pandas组件读取csv文件时,当文件是压缩文件时,最后一个空行怎么不读取
有nan的时候筛选去掉这行就可以了啊
㈥ python 解压缩tar.gz文件 判断文件是否正常
Python自带的tarfile模块可以方便读取tar归档文件,牛b的是可以处理使用gzip和bz2压缩归档文件tar.gz和tar.bz2。
对于gz格式gz文件一般不加密常见的是这种.tar.gz格式的 对于tar格式 在python标准库我没找到关于检测加密的方法
㈦ linux下将文件打包成.tar,之后再将.tar文件压缩
tar zcvf test.tar ./test 这是tar命令压缩文件
没明白你的意思
㈧ python怎样压缩和解压缩ZIP文件
1、说明
python使用zipfile模块来压缩和解压zip文件
2、代码
importos,os.path
importzipfile
defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))
zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()
defunzip_file(zipfilename,unziptodir):
ifnotos.path.exists(unziptodir):os.mkdir(unziptodir)
zfobj=zipfile.ZipFile(zipfilename)
fornameinzfobj.namelist():
name=name.replace('\','/')
ifname.endswith('/'):
os.mkdir(os.path.join(unziptodir,name))
else:
ext_filename=os.path.join(unziptodir,name)
ext_dir=os.path.dirname(ext_filename)
ifnotos.path.exists(ext_dir):os.mkdir(ext_dir)
outfile=open(ext_filename,'wb')
outfile.write(zfobj.read(name))
outfile.close()
if__name__=='__main__':
zip_dir(r'd:/python/test',r'd:/python/test.zip')
unzip_file(r'd:/python/test.zip',r'd:/python/test2')
执行结果
顺利生成相应文件
3、备注
zip文件格式是通用的文档压缩标准,在zipfile模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
ZipFile还提供了如下常用的方法和属性:
ZipFile.getinfo(name):
获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。将在下面 具体介绍该对象。
ZipFile.infolist()
获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表。
ZipFile.namelist()
获取zip文档内所有文件的名称列表。
ZipFile.extract(member[, path[, pwd]])
㈨ 求Python的tar压缩命令
rar_command = 'winrar a -r %s %s' % (target,source)
改为
rar_command = 'tar -zcvf %s %s' % (target,source)
㈩ python tar.gz怎么安装
tar.gz文件是在linux系统下的文件格式
.tar是把文件打成一个包,并不压缩;
.gz是用gzip把打成包的.tar文件压缩,所以成了一个.tar.gz的文件。
安装的话,先解包,tar -zxvf python.tar.gz,这样会生成一个以文件名命名的文件夹。
有的文件直接这样解压即可,例如tomcat、eclipse
有的文件在解压之后的文件中 有运行的脚本文件,如:start.sh 运行即可