(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会返回'