2016-12-28 53 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()