(Python)Can';t打印文本文件的所有内容

(Python)Can';t打印文本文件的所有内容,python,python-3.x,file-io,text-files,spyder,Python,Python 3.x,File Io,Text Files,Spyder,我已经尽力打印了我文本文件的所有内容。但我还是不明白到底出了什么问题。这是我的密码: Input = input("TYPE: ") with open("tryme.txt","a+") as f: f.write(Input + "\n\n\n" ) x = f.read() print(x) a+打开以进行读取和追加(在文件末尾写入)。档案 如果不存在,则创建。用于读取的初始文件位置 位于文件的开头,但输出始终附加到 文件的结尾 with open("try

我已经尽力打印了我文本文件的所有内容。但我还是不明白到底出了什么问题。这是我的密码:

Input = input("TYPE: ")

with open("tryme.txt","a+") as f:
    f.write(Input + "\n\n\n" )

    x = f.read()
    print(x)

a+
打开以进行读取和追加(在文件末尾写入)。档案 如果不存在,则创建。用于读取的初始文件位置 位于文件的开头,但输出始终附加到 文件的结尾

with open("tryme.txt","a+") as f:
    f.write(Input + "\n\n\n" )
    f.seek(0)
    x = f.read()
    print(x)
您应该使用
f.seek()
将文件偏移量设置为文件的开头

with open("tryme.txt","a+") as f:
    f.write(Input + "\n\n\n" )
    f.seek(0)
    x = f.read()
    print(x)
输出:

TYPE: test2
test1


test2

希望这有帮助。

写入文件后,读卡器的当前位置位于文件末尾。如果要读取整个文件,则需要返回到开头

试一试


如果问得不多,那么
f.seek(0,0)
的含义是什么?第二个零的目的是什么?无论如何,谢谢你的帮助!
seek()
的第二个参数是whence。它指定是基于当前位置、基于文件开头还是基于文件结尾获取偏移。它默认为0,因此如果您只是想跳转到开头以进一步增加清晰度,则不一定要包含它,
f.seek(0,0)
表示在文件f中,从开头向前偏移0。如果你从这个位置写,你就是在预写文件,如果你读了,你可以在这个位置之后读所有的东西。您可以指定文件中的任何位置。如果您想要结束,您可以执行
f.seek(0,2)
或如果您想在当前位置后移动n个字符
f.seek(n,1)
非常感谢!因此,这仅仅意味着我可以从下到上打印文本文件的内容,以及我喜欢的方式?
seek
本质上等同于在文本文件中移动光标。它主要用于查找文件的结尾以便再次写入,或查找文件的开头或某些指定行以便读取。不能使用seek从下到上打印。当然,除非您在循环中反复使用它,一次从底部移动一行,否则从
readline()
中获取的任何内容在读取时都会向下移动文件。如果你想读两遍,你也可以使用seek,因为一旦你读到底部,reading only会返回
'