Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python中的StringIO与cSt

Python中的StringIO与cSt

作者头像
py3study
发布于 2020-01-07 03:49:34
发布于 2020-01-07 03:49:34
91400
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">python中的StringIO与cStringIO</span>

StringIO与cStringIO类似,都是向内存中写入文件,其操作与文件操作类似(不敢说相同,但是至少读写是一样的)。一StringIO为例如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import StringIO
a = StringIO.StringIO('title')
a.write('content1\n')
a.write('content2')
a.seek(0) #必须指定文件指针位置到文件开头,否则无法读出数据
print a.read()
a.close() #必须和文件一样关闭

输出结果是: content1 content2 为什么title没有了呢? 因为实例化一个StringIO之后,文件指针是在文件开头的,也就是指向‘title’开头的位置,之后写入的‘conttent1’将其覆盖了而已。 如果不想让’title‘被覆盖,那么需要将文件指针移动到’title‘末尾,即利用a.seek()函数。 但是这里StringIO文件类似一个列表,和文件操作不一样,a.seek(2)不代表文件末尾,而代表写入参数的第三个字符的位置,即’title‘中第二个’t'的位置。 或者,直接实例化一个空的StringIO,然后再写入内容,一切烦恼就都没有了。 cStringIO不同之处在于,如果实例化一个带有默认数据的cStringIO.StringIO类。那么该实例是read-only的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import StringIO
a = cStringIO.StringIO('title')
a.write('content1\n')

返回AttributeError: 'cstringIO.StringI' object has no attribute ‘write’

但是如果实例化时不提供默认参数,那么则是可以读写的。注意到

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cStringIO, StringIO
a = StringIO.StringIO()
b = StringIO.StringIO('a')
c = cStringIO.StringIO()
d = cStringIO.StringIO('a')
print type(a)
print type(b)
print type(c)
print type(d)
print a.__class__
print b.__class__
print c.__class__
print d.__class__

返回: <type instance> <type instance> <type cStringIO.StringO> <type cStringIO.StringI> <class StringIO.StringIO at XXXX> <class StringIO.StringIO at XXXX> <type cStringIO.StringO> <type cStringIO.StringI> 但是说明带默认参数的 cStringIO.StringIO生成的是cStringIO.StringI,它是read-only的,无默认参数的是cStringIO.StringO,它是可读写的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python基础-文件操作(10)
不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电脑之后,“哭都没地方哭了”,可见,在把数据存储起来有做么大的价值。
Se7eN_HOU
2019/09/11
4190
python基础-文件操作(10)
编写兼容 Python 2.x 和 3.
当我们正处于Python 2.x到Python 3.x的过渡期时,你可能想过是否可以在不修改任何代码的前提下能同时运行在Python 2和3中。这看起来还真是一个合理的诉求,但如何开始呢?哪些Python 2 代码在 3.x 解释器执行时容易出状况呢?
py3study
2020/01/03
9050
学会这几招,轻松掌握Python文件管理
一、Python中的文件管理 文件管理是很多应用程序的基本功能和重要组成部分。Python可以使文件管理极其简单,特别是和其它语言相对比。 以下,Peyton McCullough讲解了文件管理基础。 介绍 你玩过的游戏使用文件来保存存档;你下的订单保存在文件中;很明显,你早上写的报告也保存在文件中。 几乎以任何语言编写的众多应用程序中,文件管理是很重要的一部分。Python当然也不例外。在这篇文章中,我们将探究如何使用一些模块来操作文件。我们会完成读文件,写文件,增加文件内容的操作,写文件,增加文件内容的
CDA数据分析师
2018/02/05
9580
超详细的Python文件操作知识
链接:https://blog.csdn.net/mall_lucy/article/details/104547365
Ai学习的老章
2020/12/08
1.7K0
Java开发者的Python快速进修指南:文件操作
Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。
努力的小雨
2024/04/21
1470
【Python】从基础到进阶(八):文件操作与上下文管理
在编程过程中,数据的存储与读取是必不可少的任务。文件操作是Python编程中的一个重要部分,通过文件操作,您可以将数据持久化存储在磁盘中,并在需要时读取这些数据。此外,上下文管理是Python中的一个强大工具,它可以简化资源管理,确保文件、网络连接等资源在使用完毕后能够正确关闭,避免内存泄漏和资源占用问题。
空白诗
2024/09/21
1380
【Python】从基础到进阶(八):文件操作与上下文管理
python教程(八)·文件操作
由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解!
py3study
2020/01/16
5130
Python:文件操作详细教程
备注:Python中打开文件有两种方式,即open()和file(),本质上前者会调用后者进行文件操作,推荐使用open
Python学习者
2024/06/05
2000
【Python基础编程】异常处理与文件读写全指南:让代码更稳定高效
上篇文章主要讲的是python的三器一包, 迭代器、生成器、解释器和闭包,接下来再一起了解python的异常处理和文件读写模块。
易辰君
2024/11/07
2100
小朋友学Python(17):文件
Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。 一、打开和关闭文件 例1 (1)创建名为test1.txt的文件,内容为 This is a test file. (2)在同一目录下新建file1.py文件,内容如下 file = open("test1.txt", "wb") print "File name: ", file.name print "Access mode: ", file.mode print "Closed or not
海天一树
2018/04/17
8510
Python全网最全基础课程笔记(十五)--Python文件操作太简单?你可能忽略了这些关键技巧!
文件对象可以使用close()方法手动关闭,但更好的方式是使用with语句,这样文件会在块结束时自动关闭。
小白的大数据之旅
2024/11/20
1100
Python全网最全基础课程笔记(十五)--Python文件操作太简单?你可能忽略了这些关键技巧!
Python基础之文件操作知识
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lq3Z4E9A-1597498951213)(文件操作.assets/1.jpg)]
海仔
2020/08/17
4910
python中文件的读取与写入以及os模
r(默认参数): -只能读,不能写 -读取文件不存在 会报错 FileNotFoundError: [Errno 2] No such file or directory: '/tmp/westos'
py3study
2020/01/15
1.2K0
python中文件的读取与写入以及os模
Python文件读写
#文件操作,创建文件对象,通过open()函数创建文件对象 mode:代表文件要执行的操作的类型 r:读模式 w:写模式(每次写入文件之前都会先将文件中的内容清空,之后重新写入) a:添加模式(每次写入文件时,不会清空文件内容)
py3study
2020/01/15
9390
Python 文件操作
前言 文件的读写在软件开发中也会经常用到,Python 对文件的支持也很强大,所以今天讲讲如何用 Python 来操作文件。 打开/关闭 open 打开文件很简单,只需要执行: 1 open('file_name', 'r') 第一个参数是文件路径,第二个参数是权限(如不指定权限,则默认为 r)。 权限说明: 访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追
一份执着✘
2018/06/04
7840
python基础学习8----文件基本操
  1. 'r': 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
py3study
2020/01/19
2980
python之open函数
(1) with上下文管理器可对open的状态进行自动监管,当读取完成时可自动管理,无需使用close; (2) 连续写入数据,使用a及可以实现在文件末尾操作的模式,列表去除空字节,使用remove; (3) open数据提取有四种方法,直接遍历,read读取,readline读取,readlines读取,详见表4.1;
全栈程序员站长
2022/09/01
5930
Python基础(14)——文件
使用with来管理上下文 with会打开文件将文件对象赋值给file_obj,然后在执行完子代码块的文件操作后自动调用file_obj.close()方法。
羊羽shine
2019/05/28
3720
python3–文件操作
File文件操作 Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。 open 函数 必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细节如下: file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。 access_mod
老七Linux
2018/05/09
1.2K0
06 . Python3入门之IO编程(文件操作)
4. f.write() f.write(string)将string写入到文件中,然后返回写入的字符数.
iginkgo18
2020/09/27
8090
06 . Python3入门之IO编程(文件操作)
相关推荐
python基础-文件操作(10)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验