如何打开文件,逐行读取,然后将每一行转换为字符串?

时间:2019-01-13 16:33:29

标签: python python-3.x visual-studio-code

我已经在一个项目上工作了一个星期,但是遇到了一些错误,需要帮助。我需要知道如何读取特定的文件行(文件长为几百万行),以及如何将其输出转换为字符串。请帮我!我不是很好。

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

2 个答案:

答案 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))