我有一个tar.gz文件,并且我想提取某个目录而不是整个目录,因此我使用TarFile.getmember(‘foo / bar’).我想知道的是我是否真的应该使用TarFile.getmember(os.path.join(‘foo’,’bar’)).
编辑:我也想知道我是否会将os.path.join用于tarfile模块或zipfile模块中的任何其他功能.解决方法:不,getmember的参数是tar文件中的键,而不是本地文件系统路径.使用斜杠.
我在https://ghtstorage.blob.core.windows.net/downloads/mysql-2016-06-16.tar.gz处有超过40 GB的tar.gz文件如何在不解压缩可能在100 GB中的整个文件的情况下找到在tar.gz文件内压缩的CSV文件中的行数?解决方法:如果该tar.gz中只有一个csv文件,则可以将其作为bash一线式:
tar -zxOf mysql-2016-06-16.tar.gz | wc -l
它使用tar将存档中的所有文件提取到标准输出(-O,大写o,而不是零),并使用wc来计数行数.
如果有更多文件,并且只...
使用gzip,tell()返回未压缩文件中的偏移量.为了显示进度条,我想知道文件的原始(未压缩)大小.有一个简单的方法可以找到答案吗?解决方法:gzip format指定了一个名为ISIZE的字段:This contains the size of the original (uncompressed) input data modulo 2^32.在gzip.py中,我假设你正在使用gzip支持,有一个名为_read_eof的方法定义如下:def _read_eof(self):# We've read to the end of the file, so we have to rewind in order...
我有一个非常简单的csv,其中包含以下数据,在tar.gz文件中压缩.我需要使用pandas.read_csv在数据框中读取它.A B
0 1 4
1 2 5
2 3 6import pandas as pd
pd.read_csv("sample.tar.gz",compression='gzip')但是,我收到错误:CParserError: Error tokenizing data. C error: Expected 1 fields in line 440, saw 2以下是read_csv命令的集合以及我得到的不同错误:pd.read_csv("sample.tar.gz",compression='gzip', engine='pyt...
我刚刚开始学习python并且有一个问题.
如何创建一个脚本来执行以下操作:(将在bash中写下我是如何做到的)
>将< file> .gz从远程server1复制到本地存储.cp /dumps/server1/file1.gz /local/>然后在本地提取该文件.gunzip /local/file1.gz>然后将提取文件复制到远程服务器2(用于存档和重复数据删除)cp /local/file1.dump /dedupmount>删除.gz文件的本地副本以释放“临时”存储空间rm -rf /local/file1.gz我需要在循环中运行所有文件.所...