我有两种格式的文件
file1= filename val1 val2
file2= filename val3 val4
我想比较文件名,如果它们有相同的名称,我想得到第三个这样的文件 -
filename val1 val2 val3 val4
我正在从file1
中选择一个文件名并浏览file2
以查看是否可以获取该文件名。然后寻找指针返回file2
顶部的下一个文件名..是否有更有效的方法呢?
答案 0 :(得分:4)
听起来你正在寻找的是标准join
命令(不是Python,而是标准的Unix shell实用程序)。这是一个系统手册页的剪辑(似乎比Linux man page for join更详细):
join phonedir names
If the phonedir file contains the following names:
Adams A. 555-6235
Dickerson B. 555-1842
Erwin G. 555-1234
Jackson J. 555-0256
Lewis B. 555-3237
Norwood M. 555-5341
Smartt D. 555-1540
Wright M. 555-1234
Xandy G. 555-5015
and the names file contains these names and department numbers:
Erwin Dept. 389
Frost Dept. 217
Nicholson Dept. 311
Norwood Dept. 454
Wright Dept. 520
Xandy Dept. 999
the join command displays:
Erwin G. 555-1234 Dept. 389
Norwood M. 555-5341 Dept. 454
Wright M. 555-1234 Dept. 520
Xandy G. 555-5015 Dept. 999
答案 1 :(得分:2)
创建一个字典file2[filename] = (val3, val4)
。您可以创建一次,然后查找从file1获取的给定文件名的时间需要恒定时间(即或多或少独立于file2的大小)