栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python文件操作

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python文件操作

Python使用stdio的fopen函数并将模式作为参数传递。我假设您使用Windows,因为@Lev说代码在Linux上工作正常。

以下是来自Windows的fopen文档,这可能是解决您的问题的线索:

当指定“ r +”,“ w +”或“ a
+”访问类型时,允许读取和写入(据说该文件已打开以进行“更新”)。但是,当您在读写之间切换时,必须有一个中间的fflush,fsetpos,fseek或rewind操作。如果需要,可以为fsetpos或fseek操作指定当前位置。

因此,解决方案是

file.seek()
file.write()
调用之前添加。要附加到文件末尾,请使用
file.seek(0, 2)

供参考,file.seek的工作方式如下:

要更改文件对象的位置,请使用f.seek(offset,from_what)。通过将偏移量添加到参考点来计算位置;参考点由from_what参数选择。from_what值0从文件开头开始测量,1使用当前文件位置,而2使用文件结尾作为参考点。from_what可以省略,默认为0,使用文件的开头作为参考点。

参考:[http](http://docs.python.org/tutorial/inputoutput.html):[//docs.python.org/tutorial/inputoutput.html]

正如@lvc在评论中提到和@Burkhan在他的回答中提到的那样,您可以使用io模块中较新的open函数。但是,我想指出的是,在这种情况下,write函数的工作原理并不完全相同-
您需要提供unipre字符串作为输入[在这种情况下,只需在字符串前面

u
加上a ]:

from io import openfil = open('text.txt', 'a+')fil.write('abc') # This failsfil.write(u'abc') # This works

最后,请避免将文件名“ file”用作变量名,因为它指的是内置类型,并且会被静默覆盖,从而导致一些难以发现的错误。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号