我已经在一个项目上工作了一个星期,但是遇到了一些错误,需要帮助。我需要知道如何读取特定的文件行(文件长为几百万行),以及如何将其输出转换为字符串。请帮我!我不是很好。
file = open('file.txt', 'r+')
hash = file.readline()
hash = binascii.hexlify(hash)
print('hash: {}'.format(hash))
错误:
Traceback (most recent call last):
File "main.py", line 77, in <module>
hash = binascii.hexlify(hash)
TypeError: must be string or buffer, not builtin_function_or_method
答案 0 :(得分:0)
首先,您需要打开文件。您可以使用的方式:
with open(filename, 'r') as file:
然后使用以下命令将行读入列表:
lines = file.readlines()
这将为您提供文件中所有行的列表(假定这些行实际上由换行符char分隔)。 因此,现在,您可以遍历它们,或者如果知道所需的行号,则选择一个:
for line in lines:
do_smth_with_line
print (lines[24])
“ readlines()”的结果应该已经是一个字符串。
答案 1 :(得分:0)
不确定这是否是您的意思,但是如果您想将文件的第500,000行打印为字符串,则可以使用:
with open(file) as f:
target = 500000
for i, line in enumerate(f):
if i == target:
print(str(line))