从python中的多个文件中提取cat和grep并将输出写入文件?

2024-05-14 23:05:25 发布

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

我想要一个类似于python的shell命令cat logs/archived/app.2020-12-11* | grep "Sending" > sms_otp_logs_ack.log

我已经尝试使用sh模块

sh.grep(sh.cat(2020-12-18/100.6.13.16/app.*), string_to_grep)

由于*通配符,这将抛出一个没有此类文件的错误。我如何传递此文件并将输出保存到另一个文件


Tags: 模块文件命令logappshshellsms
1条回答
网友
1楼 · 发布于 2024-05-14 23:05:25

您可以使用^{}模块,该模块根据Unix shell使用的规则查找与指定模式匹配的所有路径名,然后以读取模式打开找到的文件以搜索所需字符串("Sending"),以便将包含该字符串的行追加到另一个文件中

import glob, os

for f in glob.glob(os.path.join(path, "app.2020-12-11*")):
    with open(f, 'r') as f_in, open('sms_otp_logs_ack.log', 'a') as f_out:
        for line in f_in:
            if "Sending" in line:
                f_out.write(line)

相关问题 更多 >

    热门问题