来自txt的列表解析的python空列表输出

时间:2018-01-27 11:05:25

标签: python list-comprehension readlines startswith

尝试读取txt文件并过滤不相关的行。 有些行是随机字符串,有些是'#'#标签字符。

base_txt = open(path, 'rU')
  txt = base_txt.readlines()
  txt = [x for x in base_txt if x.startswith('#')]
  print txt
  print len(txt)

输出是一个空列表。如果我在列表推导之前打印txt,那么它会打印出文件中的所有字符串。

我正在做语法错误吗?

1 个答案:

答案 0 :(得分:1)

你的代码没问题,你只是循环错误的变量。它应该是

txt = [x for x in txt if x.startswith('#')]

而不是

txt = [x for x in base_txt if x.startswith('#')]