代码之家  ›  专栏  ›  技术社区  ›  Kenny Worden

subprocess.run不能与cwd参数一起使用

  •  1
  • Kenny Worden  · 技术社区  · 7 年前

    当我尝试用 subprocess 模块,如果不指定脚本的绝对路径,则无法运行它。即:

    proc = run(['classify.sh', twitter_handle],
               cwd='/Users/kkworden/Code/school/Twirole',
               stdout=PIPE)
    

    不起作用,但:

    proc = run(['/Users/kkworden/Code/school/Twirole/classify.sh', twitter_handle],
               stdout=PIPE)
    

    工作。为什么?这两个不应该是一样的吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Kenny Worden    7 年前

    但是,我忘记了相对地指定脚本:

    proc = run(['./classify.sh', twitter_handle],
               cwd='/Users/kkworden/Code/school/Twirole',
               stdout=PIPE)
    

    注意前导 ./ 在我的剧本之前。