打开与regex-python匹配的所有文件
我想打开并操作一个目录中所有扩展名为“([0-9]{3})”的文件(例如,342)。我的正则表达式是“([0-9]{3}”),我将把它们合并到一个文件中,并在输出新文件之前对它们进行处理 我想不出我应该向正则表达式输入什么。我知道我想给它提供目录文件列表。我想我首先遍历目录中的每个文件,只将匹配的文件放在matchlist中,然后循环遍历matchlist并打开它们 (我看了很多例子。) 到目前为止,我就在这里打开与regex-python匹配的所有文件,python,Python,我想打开并操作一个目录中所有扩展名为“([0-9]{3})”的文件(例如,342)。我的正则表达式是“([0-9]{3}”),我将把它们合并到一个文件中,并在输出新文件之前对它们进行处理 我想不出我应该向正则表达式输入什么。我知道我想给它提供目录文件列表。我想我首先遍历目录中的每个文件,只将匹配的文件放在matchlist中,然后循环遍历matchlist并打开它们 (我看了很多例子。) 到目前为止,我就在这里 import glob, os, re Path = "data" os.chdi
import glob, os, re
Path = "data"
os.chdir(Path)
matchlist = re.search('(.[0-9]{3})', file )
for file in glob.glob(matchlist):
with open(file) as fp:
for line in fp:
print(line.strip())
请记住,使用的语法与正则表达式不同
您可能想要:
for filename in os.listdir():
if re.search(r'(\.[0-9]{3})', filename):
# ...
或:
对这是我意识到的一个绊脚石。但您的第一个示例显示了如何仅从目录中选择所需的文件。谢谢
for file in glob.glob('./*.[0-9][0-9][0-9]'):
# ...