【发布时间】:2019-05-17 19:48:31
【问题描述】:
我有一个 240 万行 (256mb) 的文件和一个 32000 行 (1.5mb) 的文件。
我需要逐行浏览文件两行并在文件一中打印匹配行。
伪代码:
open file 1, read
open file 2, read
open results, write
for line2 in file 2:
for line1 in file 1:
if line2 in line1:
write line1 to results
stop inner loop
我的代码:
p = open("file1.txt", "r")
d = open("file2.txt", "r")
o = open("results.txt", "w")
for hash1 in p:
hash1 = hash1.strip('\n')
for data in d:
hash2 = data.split(',')[1].strip('\n')
if hash1 in hash2:
o.write(data)
o.close()
d.close()
p.close()
我期待 32k 的结果。
【问题讨论】:
-
你试过只运行你的代码吗?另外,如果您运行的是 linux,有一个名为“diff”的命令可能会对您有所帮助。