python读取2个文件,忽略header(#开头行),对数据进行排序

python read 2 files, ignore header (# beginning line), and sort data

如何一次读取两个文件,忽略 # 行,并根据它们的第 2 列值对它们进行排序?

我在考虑结合使用 .startswith(): 和 sorted(): 命令

    file1 = [line for line in open("file1.txt",'r').readlines() if not line.startswith("#")]
    file2 = [line for line in open("file2.txt",'r').readlines() if not line.startswith("#")]

    sorted_file1 = sorted(file1, key=lambda line: int(line.split()[1])) 
    sorted_file2 = sorted(file2, key=lambda line: int(line.split()[1]))

    do something fun using sorted files with for and if

我的文件很简单。文件 1 的值类似于

AAA 15125
BBB 69121
CCC 366161
.... 

文件 2 看起来像

bkjnwg 11111
knksng 22155
bnkiop 13511
...

但是我觉得这段代码有些奇怪。如何更简单地阅读、忽略#和排序文件?

谢谢

最佳,

根据评论进行了编辑。

你可以这样做:

files_to_do = [...] #put paths in here
for f in files_to_do:
    lines = [line for line in open(f,'r').readlines() if not line.startswith("#")]
    sorted_lines = sorted(lines, key=lambda line: int(line.split()[1]))
    #party