0

我正在尝试使用 Python 中的 File.read() 函数将文件的内容输出到终端,但不断收到与我的“.txt”文件内容不匹配的以下输出。

Python代码

from sys import argv
script, input_file = argv

def print_all(f):
    print f.read

current_file = open(input_file)
print "Print File contents:\n"
print_all(current_file)
current_file.close()

输出:

Print File contents:

<built-in method read of file object at 0x1004bd470>
4

5 回答 5

5

如果要调用函数,则需要()在函数名称之后(以及任何必需的参数)

因此,在您的函数中print_all替换:

print f.read    # this prints out the object reference

和:

print f.read()  # this calls the function
于 2012-08-06T14:44:03.443 回答
1

你只需要改变

print f.read

print f.read()
于 2012-08-06T14:44:43.413 回答
0

你应该做一个read()

current_file = open(input_file)
print "Print File contents:\n"
print_all(current_file.read())
于 2012-08-06T14:44:10.030 回答
0

您需要在print_all定义中实际调用该函数:

def print_all(f):
    print f.read()
于 2012-08-06T14:44:51.190 回答
0

你还没有调用 read 方法,你只是从文件类中得到它。为了调用它,您必须放置大括号。f.read()

于 2012-08-06T14:47:04.570 回答