python怎么保存文件到内存_python可以将临时文件保存到内存中吗?

比如urllib2 下载的文件,有办法直接存到内存中,然后再内存中解压么?

如果在linux中可以使用 /dev/shm

题主你好,建议你使用StringIO模块。

一个StringIO对象和一个打开的磁盘文件类似,同样可以执行read,write,seek等操作,区别在于它是一个在内存中的文件。

然后再配合gzip或者别的解压模块,就可以做到在内存中解压了,示例代码如下:import urllib2

import StringIO

import gzip

import os

baseURL = "https://www.kernel.org/pub/linux/docs/man-pages/"

filename = "man-pages-3.34.tar.gz"

# outFilePath will be "man-pages-3.34.tar"

outFilePath = os.path.splitext(filename)[0]

response = urllib2.urlopen(baseURL + filename)

compressedFile = StringIO.StringIO(response.read())

decompressedFile = gzip.GzipFile(fileobj=compressedFile)

compressedFile.seek(0)

with open(outFilePath, 'w') as outfile:

outfile.write(decompressedFile.read())

希望对您有用。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19963.html

相关文章 Recommend

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值