2012-12-21 131 views
-1

我在名为halo_track*.dat的同一目录中有一堆文件。每个文件都有两列。对于每个文件,我想在左列中找到值1.0015,读取其右侧的值,并将其附加到列表中。什么是最简单的方法来做到这一点?读取Python中目录中的所有文件

回答

4

globfileinput是单向的(未经测试)

from glob import glob 
import fileinput 

filenames = glob('halo_track*.dat') 
inputs = (line.split(None, 1) for line in fileinput.input(filenames)) 
right_stuff = [col[1] for col in inputs if col[0] == '1.0015'] 
+0

@mcglashan它应该工作 - 你正在使用'水珠( '/路径/到/你/ DIR/halo_track _ * DAT')'或类似的? (只是做一个'打印文件名',看看它是否会返回你期望它包含的内容) –

+0

现在确实如此。这是我的错误。谢谢。 – mcglashan

1
cat halo_track*.dat | grep "^1.0015" | cut -f2 > alist.txt 

你不需要python这里。对于剪切,如果分隔符不是选项卡,则可能还需要指定-d。

相关问题