python的StringIO】的更多相关文章

有时候需要将 information 保存在本地,可以这样写: file = open("filename","w") file.close() file.close() 但是有时候不想写到本地,只是要存在电脑内存就好,这样就可以用 StringIO 进行保存: import StringIO s = StringIO.StringIO() s.write(messages) s.seek(0) getmessages = s.read() s.close() St…
介绍一下Python在内存中读写数据,用到的模块是StringIO和BytesIO StringIO >>> from io import StringIO >>> f = StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write('world!') 6 >>> print(f.getvalue()) hello world!…
python 3.4以后StringIO和cStringIO就没有了,转移到 io,的StringIO和BytesIO from io import StringIO fp=StringIO( ) 1.StringIO模块 StringIO用于像文件一样对字符串缓冲区或者叫做内存文件进行读写. f = StringIO()      # ready for writing f = StringIO(buf)   # ready for reading f.close()           #…
StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作. 一.StringIO中的常用方法 1.read 用法: s.read([n]):参数n用于限定读取的长度,类型为int,默认为从当前位置读取对象s中所有的数据.读取结束后,位置被移动. 2.readline 用法: s.readline([length]):length用于限定读取的结束位置,类型为int,缺省为None,即从当前位置读取…
StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的“文件”,我们可以将操作磁盘文件那样来操作StringIO.一个简单的例子,让你对StringIO有一个感性的认识: from StringIO import StringIO # 生成一个StringIO对象,当前缓冲区内容为ABCDEF s = StringIO('ABCDEF') # 从开头写入,将会覆盖ABC s.write('abc') # 每次使用read()读取前,必须seek() # 定位到开头 s.…
StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. StringIO顾名思义就是在内存中读写str. 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: >>> from io import StringIO >>> f = StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write(…
StringIO和BytesIO StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. StringIO顾名思义就是在内存中读写str. 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: from io import StringIO f = StringIO() f.write('hello') # 5 f.write(' ') # 1 f.write('world!') # 6 print(f.getvalue()) # hel…
python的stringIO类用来处理字符串,由于其操作类似文件操作,可以视为内存中的文件. 1.创建stringIO 2.常用操作: write,writelines.getvalue.seek.readline.readlines >>> from StringIO import StringIO >>> buff = StringIO() >>> buff.write('hello') >>> buff.writelines(…
Python入门篇-StringIO和BytesIO 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringIO(用于文本处理) 1>.使用案例 #!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4…
压缩数据创建gzip文件 先看一个略麻烦的做法 ? 1 2 3 4 5 6 import StringIO,gzip content = 'Life is short.I use python' zbuf = StringIO.StringIO() zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf) zfile.write(content) zfile.close() 但其实有个快捷的封装,不用用到StringIO模块…
压缩数据创建gzip文件 先看一个略麻烦的做法 import StringIO,gzip content = 'Life is short.I use python' zbuf = StringIO.StringIO() zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf) zfile.write(content) zfile.close() 但其实有个快捷的封装,不用用到StringIO模块 f = gzip.open(…
hashlib模块 通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). Python2中使用hashlib: import hashlib m = hashlib.md5() # m <md5 HASH object @ 0x0000000001E5C800> src = "ling" m.update(src) print(m.hexdigest())# 24c10be286b009f797d53126790fcfd8 Python3…
IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/Users/michael/test.txt', 'r') 标示符‘r’代表 读. 如果文件打开成功,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用 一个str对象表示: >>> f.read() 'Hello, world!' 最后文件读取完毕调用 close 关闭…
刚开始学习PYTHON,感觉到这个语言真的是很好用,可以快速完成功能实现. 最近试着用它完成工作中的一个任务:在Linux服务器中完成对.xml.gz文件的解析,生成.csv文件,以供SqlServer服务器导入,做进一步的数据分析. 解压后的xml文件格式如下: <?xml version="1.0" encoding="UTF-8"?> <bulkPmMrDataFile> <fileHeader fileFormatVersion…
模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中. 此类中的大部分函数都与对文件的操作方法类似. 例: 复制代码 代码如下: #coding=gbk   import StringIO, cStringIO, sys   s = StringIO.StringIO("JGood is a handsome boy") s.write("JGood is a handsome boy \r\n") s.write('okkkk中国') s.see…
参考:http://pymotwcn.readthedocs.org/en/latest/documents/StringIO.html 类StringIO提供了一个在内存中方便处理文本的类文件(读, 写等操作)API. 使用cStringIO来处理大字符串可以提高运行性能,优于其他字符串串联技术. E:使用StringIO缓冲 #!/usr/bin/env python """ Simple examples with StringIO module ""…
#标准库:StringIO提供类文件API文本缓冲区#作用:可以处理内存中的文本,有2种不同的实现:cStringIP版本用c编写提高速度,StringIO用python来提供可移植性,与其他字符串连接相比,cStringIO构造大字符串提供了更好的性能#示例try:    from cStringIO import StringIOexcept:    from  StringIO import StringIO#写入缓冲区out=StringIO()out.write('buffer.')p…
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分函数都与对文件的操作方法类似. #coding=gbk import StringIO, cStringIO, sys s = StringIO.StringIO("JGood is a handsome boy") s.write("JGood is a handsome bo…
StringIO: 提供类文件接口的字符串缓冲区,可选用性能更好的cStringIO版本: http://docs.python.org/2.7/library/stringio.html#module-cStringIO struct http://docs.python.org/2.7/library/struct.html#module-struct struct看上去有点像format,区别是它输出的是二进制字节序列.可以通过格式化参数,指定类型.长度.字节序(大小端).内存对齐等…
StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buffer,可以像文件对象一样操作它.当close 方法被调用的时候,这个buffer 会被释放. 好处:一般来说,磁盘的操作比内存的操作要慢的多,内存足够的时候,一般的优化思路是少落地,减少磁盘IO的过程,可以大大提高程序的运行速度.业务中单机情况可以使用StringIo或者BytesIO,多机就考虑使…
IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10…
1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你访问百度首页,浏览器就需要通过网络IO获取网页.浏览器先会发送请求给百度服务器,告诉它想要的html网址,这个动作是往外发数据,叫Output.接着百度服务器把网页的内容发送过来,这个动作是从外面接收数据,叫Input. 所以,通常,程序完成IO操作会有Input和Output…
一.media ''' 1. 将用户上传的所有静态文件统一管理 -- settings.py -- MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2. 服务器会对外公开一下服务器静态资源 3. 对外公开的方式(配置url接口),在接口中返回指定的静态资源(如何批量操作) -- from django.views.static import serve -- url(r'^media/(?P<path>.*)', serve, {'document_r…
==StringIO 模块== [Example 2-8 #eg-2-8] 展示了 ``StringIO`` 模块的使用. 它实现了一个工作在内存的文件对象 (内存文件). 在大多需要标准文件对象的地方都可以使用它来替换. ====Example 2-8. 使用 StringIO 模块从内存文件读入内容====[eg-2-8] ``` File: stringio-example-1.py import StringIO MESSAGE = "That man is depriving a vi…
1. StringIO/cStringIO是什么 这个模块提供了一个类,这个类的实例就像是一个文件一样可以读写,实际上读写的是一个字符串缓存,也可以称之为内存文件. StringIO和文件对象拥有共同的父类IOBase,因此方法基本上都是一致的,StringIO就可以看做是一个内存文件. 想了一下,StringIO可能就相当于Java中的StringBuffer或者StringBuilder之类的吧...它是否也可以当做一个写文件缓存,当我要写很多零碎的内容的时候我先把内容都写到StringIO…
StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的“文件”,我们可以像操作磁盘文件那样来操作StringIO.这篇文章主要介绍了Python StringIO模块,此模块主要用于在内存缓冲区中读写数据.模块中只有一个StringIO类,所以它的可用方法都在类中,此类中的大部分函数都与对文件的操作方法类似. ---------------------------------- s=StringIO.StringIO([buf])此实例类似于open方法,不同的是它并不…
主要介绍python两个内存读写IO:StringIO和BytesIO,使得读写文件具有一致的接口 StringIO 内存中读写str.需要导入StringIO >>> from io import StringIO >>> f = StringIO() >>> f.write('I O U') 5 >>> f.getvalue() 'I O U' 也可以用一个str初始化StringIO,然后像读文件一样读取: >>&g…
from io import StringIO; f = StringIO(); f.write('Hello World'); s = f.readline(); print s; 上面这种方法"无论如何"都读不出f的内容,使用readlines和循环也不行. 但是,用以下的方法,却可以"正常读取": from io import StringIO; f = StringIO('Hello World'); s = f.readline(); print s; 这…
I/O编程 Input/Output  输入/输出 Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水 Input Stream就是数据从外面(磁盘.网络)流进内存,Output Stream就是数据从内存流到外面去 由于CPU和内存的速度远远高于外设的速度,所以,在I/O编程中,存在速度严重不匹配的问题.例子:比如要把100M的数据写入磁盘(这是output),CPU输出100M只需要0.01s,可是磁盘要接收这100M数据可能需要10s,怎么办呢?有两种解决方法…
Python在内存中读写数据,用到的模块是StringIO和BytesIO StringIO >>> from io import StringIO >>> f = StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write('world!') 6 >>> print(f.getvalue()) hello world! getv…