Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 读和写同一个脚本_Python_Python 2.7 - Fatal编程技术网

Python 读和写同一个脚本

Python 读和写同一个脚本,python,python-2.7,Python,Python 2.7,我目前正在艰苦地学习Python中练习16,我的代码有一个问题,它将写入文件,但我的最后一个print命令没有将文件内容打印到控制台上。在我的命令行上,它只显示了几行空白。据我所知,“r+”以读写模式打开它,但计算机无法读取它。 谁能告诉我有什么问题吗?任何帮助都将不胜感激:) 由于已写入文件,写入后的偏移量将指向文件的结尾。在这一点上,如果你想从一开始就读取文件,你必须关闭它,然后重新打开它 顺便说一下,由于Python 2.5支持并建议使用该语句,例如: with open('yourfil

我目前正在艰苦地学习Python中练习16,我的代码有一个问题,它将写入文件,但我的最后一个print命令没有将文件内容打印到控制台上。在我的命令行上,它只显示了几行空白。据我所知,“r+”以读写模式打开它,但计算机无法读取它。 谁能告诉我有什么问题吗?任何帮助都将不胜感激:)


由于已写入文件,写入后的偏移量将指向文件的结尾。在这一点上,如果你想从一开始就读取文件,你必须关闭它,然后重新打开它

顺便说一下,由于Python 2.5支持并建议使用该语句,例如:

with open('yourfile', 'r') as f:
    for line in f:
        ...

一起使用将为您关闭文件

如第一个答案所述,写入后偏移量将指向文件的末尾。但是,您不需要关闭文件并重新打开它。而是在阅读之前先这样做:

filename.seek(0)
这将重置文件开头的偏移量

filename = open('text.txt',"r+")

print(filename.read())

lin = input()

filename.write(lin)

filename.seek(0) # take it back to top, 0 can be changed to whatever line you want

print(filename.read())

filename.close()
然后简单地读一下

 filename.read()    

无需关闭然后重新打开文件,您可以添加该文件,该文件将返回到文件顶部

filename = open('text.txt',"r+")

print(filename.read())

lin = input()

filename.write(lin)

filename.seek(0) # take it back to top, 0 can be changed to whatever line you want

print(filename.read())

filename.close()

好的,非常感谢您!!