import shlex, subprocess
"""
1、subprocess.Popen("cat test.txt") # 因为默认shell=False,命令将不执行
2、subprocess.Popen("cat test.txt", shell=True) # 设置shell=True, 命令将执行
3、subprocess.Popen(["cat","test.txt"]) # 第一项被视为命令,其余为命令参数, 命令将执行
4、shlex.split(cmd) #将字符串转列表形式
5、bash -c 'source /etc/profile && echo $PATH' # 测试需要执行的命令
"""
if __name__ == "__main__":
cmd = "test.py" # 本脚本同级py文件 win: cmd = "test.py" linux : cmd = "python test.py"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = p.communicate()
print stdout
“年轻时,我没受过多少系统教育,但什么书都读。读得最多的是诗,包括烂诗,我坚信烂诗早晚会让我邂逅好诗。”
by. 马尔克斯