Python TXT文件的写入出读取

这篇博客探讨了Python中文件操作的常见问题。作者在尝试立即写入并读取文件时遇到了错误,发现不能在同一`with`语句中同时进行。问题在于文件在写入模式下无法读取,必须先关闭文件再重新打开。最终,作者通过分开写入和读取步骤解决了问题。博客强调了理解文件操作机制的重要性,特别是文件状态和模式切换。
摘要由CSDN通过智能技术生成

# coding= utf-8
f = open(r"e:\python27\code\data1.txt", "w")  #文件路径按个人情况变更
f.write("this is a test ")
f.close()

f = open(r"e:\python27\code\data1.txt", "r")
a = f.read()
print(a)
f.close()
 

‘‘‘

在之前试了好多次错误的,贪图方便,打开后写完想立马读取:


 # coding= utf-8
with open(r"e:\python27\code\data1.txt", "w") as f:
    f.write("this is a test ")
    a = f.read()
    print(a)


写入正常,但读老提示错误如下:

 Traceback (most recent call last):
  File "E:\Python27\code\文件操作.py", line 4, in <module>
    a = f.read()
IOError: File not open for reading

以为是参数“w”错了,应该改“w+”,试了,错误提示消失,但也不对,没有内容被读取到。

最终改成上在的,写完关闭文件,再重新打开读取。

想请教原因是什么?请大神指教一下!

想来应该是对机制没理解,记得说,如果打开文件没关闭,数据可能会丢失,所以一开始猜测可能是关闭时数据没存,没数据。但在存了一次之后,文件里已经有了上一次写入的信息,依然没有数据被读取,肯定是哪不对了。
 

’’’

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值