如何用Python逐行读取大文件我想遍历整个文件的每一行。一种方法是读取整个文件,将其保存到列表中,然后遍历感兴趣的行。这个方法使用了大量的内存,所以我正在寻找一个替代方法。到目前为止我的代码是:for each_line in fileinput.input(input_file):
do_something(each_line)
for each_line_again in fileinput.input(input_file):
do_something(each_line_again)执行此代码将给出一条错误消息:device active.有什么建议吗?目的是计算成对的字符串相似度,意思是对于文件中的每一行,我要计算Levenshtein与其他每一行的距离。
3 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
with open(...) as f: for line in f: # Do something with 'line'
with
for line in f
f
胡子哥哥
TA贡献1825条经验 获得超6个赞
剥去新线路:
with open(file_path, 'rU') as f: for line_terminated in f: line = line_terminated.rstrip('\n') ...
'\n'
'\r'
, '\n'
'\r\n'
.
编辑-
Unix上的Python 2- open(file_path, mode='rU')
-所需 [谢谢 @Dave ]Windows上的Python 2- open(file_path, mode='rU')
-任选 Python 3- open(file_path, newline=None)
-任选
newline
None
mode
'r'
U
\r\n
\n
.
为了保留本机线路终止符:
with open(file_path, 'rb') as f: with line_native_terminated in f: ...
in
添加回答
举报
0/150
提交
取消