2016-12-28 442 views
0

我是Python新手,目前正在学习文件操作。我无法从我刚写入的文件中读取。我正在使用w +模式。无法在w +模式下读取python文件

也请告诉我,我在

textbuffer = STR做错了( “%R \ n%R \ N%r \ n” 个输入%(),输入(),输入( )) 这是评论。

下面的代码片段:

filename = '/home/ranadeep/PycharmProjects/HelloWorld/ex15_sample.txt' 
target = open(filename,'w+') 
target.truncate() 

print("Input the 3 lines: ") 
textbuffer = "Just a demo text input" 
#textbuffer = str("%r\n %r\n %r\n" % input(), input(), input()) 
target.write(textbuffer) 
# read not working in w+ mode 
print(target.read()) 
target.close() 

# read only mode 
updated_target = open(filename,'r') 
print(updated_target.read()) 
+1

写完文件后,文件对象'target'就是“在文件末尾”。在阅读任何内容之前,你必须回头一点。您可以使用'.tell'和'.seek'方法来查看和更改文件中的位置。有关更多信息,请参阅文档:https://docs.python.org/2/tutorial/inputoutput.html –

+0

谢谢。得到它了。 @jmd_dk – rg666

回答

1

当你写文件,行,你开始从只读你写的行之后发生。为此,您需要将“头”重置回文件的开头。

target.write("blah") 

# This is new 
target.seek(0) 

print target.read() 
target.close()