为什么 read() 不能在 open() 函数 python 中使用 'w+' 或 'r+' 模式
Why does read() not work with 'w+' or 'r+' mode in open() function python
当我用 'r+' 或 'w+' 参数打开时,它不想读取文本文件。
内部文本文档:
hello
Python 代码示例:
代码:
with open(file_name, 'r') as o:
print(o.read())
输出:
hello
代码:
with open(file_name, 'r+') as o:
print(o.read())
输出:
代码:
with open(file_name, 'w+') as o:
o.write('hello')
print(o.read())
输出:
我也试过设置o.read()
为变量然后打印出来,还是没有输出。如果有人能告诉我为什么会这样,那就太好了。
with open(file_name, 'r') as o:
print(o.read())
输出 hello
因为文件已打开以供读取
with open(file_name, 'r+') as o:
print(o.read())
同时输出hello
,因为文件仍处于打开状态以供读取
with open(file_name, 'w+') as o:
print(o.read())
没有输出,因为文件被截断了。
有关详细信息,请参阅 https://docs.python.org/3/library/functions.html#open。
with open(file_name, 'r') as o:
print(o.read())
输出你好,如你所说。
with open(file_name, 'r+') as o:
print(o.read())
也输出hello。我不知道你为什么说它什么都不输出
with open(file_name, 'w+') as o:
o.write('hello')
print(o.read())
不输出任何内容,因为'w+'丢弃了文件的当前内容,然后在您将hello写入文件,文件指针位于文件末尾,读取尝试从该点读取。要阅读您所写的内容,您需要先回到文件的开头:
with open(file_name, 'w+') as o:
o.write('hello')
o.seek(0)
print(o.read())
打印:
hello
有关详细信息,请参阅 https://docs.python.org/3/library/functions.html#open。
当我用 'r+' 或 'w+' 参数打开时,它不想读取文本文件。
内部文本文档:
hello
Python 代码示例:
代码:
with open(file_name, 'r') as o:
print(o.read())
输出:
hello
代码:
with open(file_name, 'r+') as o:
print(o.read())
输出:
代码:
with open(file_name, 'w+') as o:
o.write('hello')
print(o.read())
输出:
我也试过设置o.read()
为变量然后打印出来,还是没有输出。如果有人能告诉我为什么会这样,那就太好了。
with open(file_name, 'r') as o:
print(o.read())
输出 hello
因为文件已打开以供读取
with open(file_name, 'r+') as o:
print(o.read())
同时输出hello
,因为文件仍处于打开状态以供读取
with open(file_name, 'w+') as o:
print(o.read())
没有输出,因为文件被截断了。
有关详细信息,请参阅 https://docs.python.org/3/library/functions.html#open。
with open(file_name, 'r') as o:
print(o.read())
输出你好,如你所说。
with open(file_name, 'r+') as o:
print(o.read())
也输出hello。我不知道你为什么说它什么都不输出
with open(file_name, 'w+') as o:
o.write('hello')
print(o.read())
不输出任何内容,因为'w+'丢弃了文件的当前内容,然后在您将hello写入文件,文件指针位于文件末尾,读取尝试从该点读取。要阅读您所写的内容,您需要先回到文件的开头:
with open(file_name, 'w+') as o:
o.write('hello')
o.seek(0)
print(o.read())
打印:
hello
有关详细信息,请参阅 https://docs.python.org/3/library/functions.html#open。