擅长:python、mysql、java
<p>尝试使用字典:</p>
<pre><code>import sys
def find_common_lines(arg1, arg2, arg3):
alllines_dict = {}
with open(arg1, 'r') as f:
while True:
line = f.readline()
if not line:
break
alllines_dict[line.strip()] = 1
with open(arg3, 'w') as out:
with open(arg2, 'r') as f:
while True:
line2 = f.readline()
if not line2:
break
line2 = line2.strip()
ispresent = alllines_dict.get(line2, None)
if ispresent is not None:
out.write(line2 + '\n')
number_of_arguments = len(sys.argv)-1
print(sys.argv)
if number_of_arguments < 3:
print("ERROR:\tThe script is called with less than 3 arguments, but it needs 3!")
print("Usage:\tfind_common_lines.py <file1> <file2> <output_filepath>")
else:
arg1 = sys.argv[1]
arg2 = sys.argv[2]
arg3 = sys.argv[3]
find_common_lines(arg1, arg2, arg3)
</code></pre>