-1
我在名为halo_track*.dat
的同一目录中有一堆文件。每个文件都有两列。对于每个文件,我想在左列中找到值1.0015
,读取其右侧的值,并将其附加到列表中。什么是最简单的方法来做到这一点?读取Python中目录中的所有文件
我在名为halo_track*.dat
的同一目录中有一堆文件。每个文件都有两列。对于每个文件,我想在左列中找到值1.0015
,读取其右侧的值,并将其附加到列表中。什么是最简单的方法来做到这一点?读取Python中目录中的所有文件
glob
和fileinput
是单向的(未经测试)
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']
cat halo_track*.dat | grep "^1.0015" | cut -f2 > alist.txt
你不需要python这里。对于剪切,如果分隔符不是选项卡,则可能还需要指定-d。
@mcglashan它应该工作 - 你正在使用'水珠( '/路径/到/你/ DIR/halo_track _ * DAT')'或类似的? (只是做一个'打印文件名',看看它是否会返回你期望它包含的内容) –
现在确实如此。这是我的错误。谢谢。 – mcglashan