通过print (file.read())
我有一个名为' PyDOS'的项目。我最近发现你可以用Python读写文件,我实现了这个并且写入位有效。但是在尝试读取部分时,它会提供一种语法。弄乱阅读部分的代码是:
print file.read
这是带有第一个错误的代码:
def textviewer():
print ("Text Viewer.")
file_name = input("Enter a text file to view: ")
file = open(file_name, "r")
print file.read #This returns 'Syntax Error' when pressing F5
input("Press enter to close")
def edit(): #However, the writing function works just fine.
os.system('cls' if os.name == 'nt' else 'clear')
print ("EDIT")
print ("-------------")
print ("Note: Naming this current document the same as a different document will replace the other document with this one.")
filename = input("Plese enter a file name.")
file = open(filename, "w")
print ("Now, Write 5 lines.")
line1 = input()
line2 = input()
line3 = input()
file.write(line1)
file.write("\n")
file.write(line2)
file.write("\n")
file.write(line3)
file.close()
print ("File saved!")
time.sleep(3)
它返回语法错误,我尝试file.read()
但是显示:
<built-in method read of _io.TextIOWrapper object at 0x10ada08>
答案 0 :(得分:4)
<built-in method read of _io.TextIOWrapper object at 0x10ada08>
这是函数的字符串表示。你想要的不是函数本身,而是调用函数。
换句话说,您需要file.read()
而不是file.read
。
此外,在Python 3.x中,print
是一个函数,而不是关键字,因此您需要print(file.read())
,而不是print file.read()
。
顺便提一下,file
is the name of a built-in function(虽然已弃用),所以你应该使用不同的变量名。