如果我在REPL中执行它,下面有以下python代码。但是,当我运行脚本时,它甚至不打开script1.sh shell脚本。
import subprocess
from subprocess import Popen
p = subprocess.Popen(["./script1.sh","-a",param1],stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out,err = p.communicate()
print("Output: ", out)
print("Error: ", err)
它没有任何语法错误,但我在输出中发现了以下差异。
运行python脚本时的输出
('Output: ', 'Content-type: text/html; charset=UTF-8;\nExpires: 0;\nLast-Modified: Mon Apr 16 09:11:01 GST 2018\nCache-control: no-store, no-cache, must-revalidate;\n\n')
('Error: ', '')
从REPL运行python代码时的输出
('Output: ', 'Content-type: text/html; charset=UTF-8;\nExpires: 0;\nLast-Modified: Mon Apr 16 05:07:08 GMT 2018\nCache-control: no-store, no-cache, must-revalidate;\n\n**File\x02/path_to_file/generate_file.txt**\n')
('Error: ', '')
如图所示,从REPL执行python脚本时的输出会生成文件,但不会生成正常的python脚本。知道为什么会这样吗?