我是一名新的python学习者,现在我已进入文件处理。
我为我的问题尝试了解决方案,但失败了,所以发布我的问题。在复制之前,请考虑我的问题。
我尝试创建一个文件,但它有效。 写在文件中也有效。
但是当我试图读取文件中的文本或值时,它返回空。
我使用命令行终端来使用python并在Ubuntu OS中运行。
我尝试过的编码如下。该文件在所需位置创建,书面文本也存在。
f0=open("filehandling.txt","wb")
f0.write("my second attempt")
s=f0.read(10);
print s
我也试过wb +,r +。但它只是返回为空
编辑1:
我已附上以下编码。我在命令行中逐个输入
fo = open("samp.txt", "wb")
fo.write( "Text is here\n");
fo.close()
fo = open("samp.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
fo.close()
答案 0 :(得分:0)
首先,如果open
带有wb
标志,那么该文件将仅处于可写模式。如果您想要读写,那么您需要wb+
标志。如果您不希望每次都截断该文件,则需要rb+
。
现在文件是指针指向文件内某个位置的流。如果你写
f0.write("my second attempt")
然后指针指向[pointer before writing]
(在您的情况下是文件的开头,即0
)加[length of written bytes]
(在您的情况下为17
,这是文件的结尾)。为了读取整个文件,你必须将指针移回到开头,然后阅读:
f0.seek(0)
data = f0.read()