在特定目录中所有文件的倒数第二行(倒数第二行)中,我有一个这样的整数列表:
[142356, 12436546, 131434645, 56464]
我想从该特定目录中的所有文件中读取该倒数第二行,并将其再次用作包含相同值的新python脚本中的列表。所以我将能够再次处理这些列表。
所有文本文件名以“chr”开头,以“.txt”
结束答案 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)
import ast
import glob
print([ast.literal_eval(open(filename).readlines()[-1]) for filename in [("desired_directory/chr*.txt"])