比较两个文件

时间:2011-05-06 00:44:16

标签: python text-processing

我有两种格式的文件

file1= filename val1 val2
file2= filename val3 val4

我想比较文件名,如果它们有相同的名称,我想得到第三个这样的文件 -

filename val1 val2 val3 val4

我正在从file1中选择一个文件名并浏览file2以查看是否可以获取该文件名。然后寻找指针返回file2顶部的下一个文件名..是否有更有效的方法呢?

2 个答案:

答案 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的大小)