如何读取包含生成的整数列表的输出行

时间:2013-12-04 14:28:50

标签: python file list

在特定目录中所有文件的倒数第二行(倒数第二行)中,我有一个这样的整数列表:

[142356, 12436546, 131434645, 56464]

我想从该特定目录中的所有文件中读取该倒数第二行,并将其再次用作包含相同值的新python脚本中的列表。所以我将能够再次处理这些列表。

所有文本文件名以“chr”开头,以“.txt”

结束

2 个答案:

答案 0 :(得分:2)

您可以使用以下选项 - iglob来匹配文件名,literal_eval将数据解析为列表,使用deque来有效地获取文件的最后两行:

from collections import deque
from glob import iglob
import ast

def get_lists(pattern):
    for filename in iglob(pattern):
        with open(filename) as fin:
            penultimate = deque(fin, 2)[0]
            yield ast.literal_eval(penultimate)

data = list(get_lists('chr*.txt'))

答案 1 :(得分:1)

使用ast.literal_evalglob.glob

import ast
import glob
print([ast.literal_eval(open(filename).readlines()[-1]) for filename in [("desired_directory/chr*.txt"])