如何从python文件列表中读取特定名称?

2024-09-27 00:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个以VCALogParser\u output\u ARW.log、VCALogParser\u output\u ARW\u PREVIOUS.log、VCALogParser\u output\u GED.log、VCALogParser\u output\u GED\u PREVIOUS.log等名称开头的文件。我只想读取以VCALogParser\u output\u ARW.log开头的文件,而不是以前的.log文件。ARW、GED等语言(例如:ARW是阿拉伯语,GED是德语等等)。我尝试了下面的代码,但它同时读取VCALogParser\u output\u0.log和VCALogParser\u output\u ARW\u PREVIOUS.log文件。有人能告诉我下面的代码有什么错误吗

with open(output_filename, 'w') as f_output:
    for dirpath, dirnames, filenames in os.walk(directory): 
        for filename in filenames:
           if re.match('VCALogParser_output_[A-Z]+\.log', filename): 
             #if (filename.startswith('VCALogParser_output') and (not filename.endswith('previous.log'))):
                str=filename
                str=str.replace("VCALogParser_output_", "")
                str=str.replace(".log", "") 

Tags: 文件代码inlogforoutputiffilename
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:21

如果只想列出一个目录,请使用glob

with open(output_filename, 'w') as f_output:
    for filename in glob.iglob(os.path.join(directory, 'VCALogParser_output_???.log')):
        # do whatever you want with filename

相关问题 更多 >

    热门问题