草庐IT

python - 如何使用内容编码 : gzip with Python SimpleHTTPServer

我正在使用python-mSimpleHTTPServer为网络浏览器中的本地测试提供一个目录。一些内容包括大型数据文件。我希望能够对它们进行gzip压缩,并让SimpleHTTPServer使用Content-Encoding:gzip为它们提供服务。有没有简单的方法来做到这一点? 最佳答案 这是一个老问题,但对我来说它在Google中仍然排名第一,所以我想正确的答案可能对我旁边的人有用。事实证明,解决方案非常简单。在do_GET()、do_POST等方法中,只需要添加如下内容:content=self.gzipencode(st

python - psycopg - 将 gzipped 数据插入 bytea 列

我正在尝试gzip一个字符串,然后使用psycopg2将其写入bytea列中.表:CREATETABLEtest(databytea)插入:importpsycopg2data="somestring".encode("zlib")#'x\x9c+\xce\xcfMU(.)\xca\xccK\x07\x00\x1ak\x04l'conn=psycopg2.connect("myparameters")cur=conn.cursor()cur.execute("INSERTINTOpublic.testVALUES(%s)",(data,))Traceback(mostrecentcal

gzip - 临时解压缩文件的最佳(最 "pythonic")方法

我需要临时创建一些文件的解压版本。我见过有人在bash中执行zcatsomefile.gz>/tmp/somefile,所以我在python中创建了这个简单的函数:fromsubprocessimportcheck_calldefunzipto(zipfile,tmpfile):withopen(tmpfile,'wb')astf:check_call(['zcat',zipfile],stdout=tf)但是使用zcat和check_call对我来说似乎很老套,我想知道是否有更多的“pythonic”方式来做到这一点。谢谢你的帮助 最佳答案

python - tmpfile 和 gzip 组合问题

我对这段代码有疑问:file=tempfile.TemporaryFile(mode='wrb')file.write(base64.b64decode(data))file.flush()os.fsync(file)#file.seek(0)f=gzip.GzipFile(mode='rb',fileobj=file)printf.read()我不知道为什么它不打印任何东西。如果我取消注释file.seek则会发生错误:File"/usr/lib/python2.5/gzip.py",line263,in_readself._read_gzip_header()File"/usr/l

python - 使用 python 解压缩 .gz 文件的一部分

所以问题来了。我有大约60KB大小的sample.gz文件。我想解压这个文件的前2000个字节。我遇到了CRC校验失败错误,我猜是因为gzipCRC字段出现在文件末尾,它需要整个gzip文件才能解压缩。有办法解决这个问题吗?我不关心CRC检查。即使我因为错误的CRC而无法解压,也没关系。有没有办法解决这个问题并解压缩部分.gz文件?我目前的代码是importgzipimporttimeimportStringIOfile=open('sample.gz','rb')mybuf=MyBuffer(file)mybuf=StringIO.StringIO(file.read(2000))f

Python 与 Perl : performance reading a gzipped file

我有一个包含一百万行的gzip数据文件:$zcatmillion_lines.txt.gz|head12345678910...我处理这个文件的Perl脚本如下:#read_million.plusestrict;my$file="million_lines.txt.gz";openMILLION,"gzip-cdfq$file|";while(){chomp$_;if($_eq"1000000"){print"Thisisthemillionthline:Perl\n";last;}}在Python中:#read_million.pyimportgzipfilename='milli

python - 如何将 csv 文件直接压缩成 zip 存档?

我正在使用以下代码动态生成许多csv文件:importcsvfieldnames=['foo1','foo2','foo3','foo4']withopen(csvfilepath,'wb')ascsvfile:csvwrite=csv.DictWriter(csvfile,delimiter=',',fieldnames=fieldnames)csvwrite.writeheader()forrowindata:csvwrite.writerow(row)为了节省空间,我想压缩它们。使用gzip模块非常简单:withgzip.open("foo.gz","w")ascsvfile:c

Python3 写入 gzip 文件 - 内存 View : a bytes-like object is required, 不是 'str'

我想写一个文件。根据文件的名称,这可能会或可能不会被gzip模块压缩。这是我的代码:importgzipfilename='output.gz'opener=gzip.openiffilename.endswith('.gz')elseopenwithopener(filename,'wb')asfd:print('blahblahblah'.encode(),file=fd)我正在以二进制模式打开可写文件并对要写入的字符串进行编码。但是我收到以下错误:File"/usr/lib/python3.5/gzip.py",line258,inwritedata=memoryview(dat

python - 如何使用带有 gzip 压缩选项的 pandas read_csv 读取 tar.gz 文件?

我有一个非常简单的csv,包含以下数据,压缩在tar.gz文件中。我需要使用pandas.read_csv在数据框中读取它。AB014125236importpandasaspdpd.read_csv("sample.tar.gz",compression='gzip')但是,我收到错误:CParserError:Errortokenizingdata.Cerror:Expected1fieldsinline440,saw2以下是一组read_csv命令和我遇到的不同错误:pd.read_csv("sample.tar.gz",compression='gzip',engine='py

python - 我可以使用带有 http-gzip 或 deflate 压缩的 python 请求库发布数据吗?

我使用python2.7的请求模块将更大的数据block发布到我无法更改的服务。由于数据主要是文本,因此它很大但可以很好地压缩。服务器将接受gzip或deflate编码,但我不知道如何指示请求执行POST并自动正确编码数据。是否有可用的最小示例来说明这是如何实现的? 最佳答案 #Worksifbackendsupportsgzipadditional_headers['content-encoding']='gzip'request_body=zlib.compress(json.dumps(post_data))r=request