python 命令行文件处理不起作用?我工作正常吗?
The python command-line file handling doesn't work? am i working correctly?
我是一个新的python学习者,现在我已经进入了文件处理。
我尝试解决我的问题但失败了,所以发布我的问题。复制前请考虑我的问题。
我尝试创建一个文件,它成功了。
写入文件也有效。
但是当我尝试读取文件中的文本或值时,它 returns 是空的。
我使用命令行终端在 Ubuntu OS.
中使用 python 和 运行
我试过的编码如下。文件在所需位置创建,并且还存在书面文本。
f0=open("filehandling.txt","wb")
f0.write("my second attempt")
s=f0.read(10);
print s
我也试过wb+, r+。但它只是 returns 为空
编辑 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()
首先,如果您 open
带有 wb
标志,那么文件将仅处于可写模式。如果你想既读又写,那么你需要 wb+
标志。如果您不想每次都截断文件,那么您需要 rb+
.
现在文件是流,指针指向文件内的某个位置。如果你写
f0.write("my second attempt")
然后指针指向 [pointer before writing]
(在你的例子中是文件的开头,即 0
)加上 [length of written bytes]
(在你的例子中是 17
,是文件的末尾)。为了读取整个文件,您必须将该指针移回开头,然后读取:
f0.seek(0)
data = f0.read()
我是一个新的python学习者,现在我已经进入了文件处理。
我尝试解决我的问题但失败了,所以发布我的问题。复制前请考虑我的问题。
我尝试创建一个文件,它成功了。 写入文件也有效。
但是当我尝试读取文件中的文本或值时,它 returns 是空的。
我使用命令行终端在 Ubuntu OS.
中使用 python 和 运行我试过的编码如下。文件在所需位置创建,并且还存在书面文本。
f0=open("filehandling.txt","wb")
f0.write("my second attempt")
s=f0.read(10);
print s
我也试过wb+, r+。但它只是 returns 为空
编辑 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()
首先,如果您 open
带有 wb
标志,那么文件将仅处于可写模式。如果你想既读又写,那么你需要 wb+
标志。如果您不想每次都截断文件,那么您需要 rb+
.
现在文件是流,指针指向文件内的某个位置。如果你写
f0.write("my second attempt")
然后指针指向 [pointer before writing]
(在你的例子中是文件的开头,即 0
)加上 [length of written bytes]
(在你的例子中是 17
,是文件的末尾)。为了读取整个文件,您必须将该指针移回开头,然后读取:
f0.seek(0)
data = f0.read()