python命令行文件处理不起作用?我工作正常吗?

时间:2016-05-30 08:20:36

标签: python command-line ubuntu-12.04

我是一名新的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()

1 个答案:

答案 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()