【发布时间】:2015-02-24 03:38:19
【问题描述】:
我有一个包含大量 .txt 文件的文件夹,我想阅读它们。为此,首先我使用一些正则表达式来仅捕获我将使用的重要内容。所以我正在做以下事情:
txt_files =(path, '*.txt')
important_stuff = re.findall("(\S+)\s+(NC\S+).*\n.*\s(\S+)\s+(AQ\S+)",txt_files)
print important_stuff
问题在于我获得了TypeError:expected string or buffer 知道如何解决这个问题吗?
【问题讨论】:
-
你能在codes.open中使用正则表达式/全局扩展作为参数吗?我不知道:)
-
我觉得有很多更简单的方法来做你想做的事
-
我编辑了伙计们,谢谢
-
@newWithPython 我敢打赌你的意思是缩进让
load_files不是递归函数。 -
Type error: expected string or buffer是因为re.findall(就像我相信所有re函数一样)所期望的:一个字符串——不是字符串的list,正如.readlines()返回。因此,正如我的回答一样,您需要在循环或 listcomp 中应用您需要的任何re函数。
标签: python regex python-2.7 io directory