您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python子进程Grep

Python子进程Grep

我认为您遇到了两个问题:

p = subprocess.Popen(['grep', "%s *.log"%userid]...
@H_404_6@

除非shell=True@H_404_6@将参数列表直接传递给os.execvp@H_404_6@,否则它将无法按预期工作,这要求每个项目都是代表参数的单个字符串。您已经将两个单独的参数 压缩到一个字符串中(换句话说,grep将“ foo12 *.log@H_404_6@”解释为要搜索模式 ,而不是模式+文件列表)。

您可以通过以下方式解决此问题:

    p = subprocess.Popen(['grep', userid, '*.log']...)
@H_404_6@
import glob
@H_404_6@

args = [‘grep’, userid] args.extend(glob.glob(‘*.log’) p = subprocess.Popen(args, …)

python 2022/1/1 18:46:30 有345人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶