subprocess.run不适用于cwd参数

时间:2019-02-11 17:22:29

标签: python

当我尝试使用subprocess模块运行基本的shell脚本时,如果不指定脚本的绝对路径,我似乎无法使其运行。那就是:

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 个答案:

答案 0 :(得分:0)

没关系,我忘了相对地指定脚本:

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

在脚本前注意前导./