Python 操作系统(cmd)在终端上与cmd不同
为什么此代码在终端(Ubuntu 12.04)中成功运行: 但是python(2.7.5)中的以下代码: 是否生成此错误Python 操作系统(cmd)在终端上与cmd不同,python,bash,shell,unix,ubuntu,Python,Bash,Shell,Unix,Ubuntu,为什么此代码在终端(Ubuntu 12.04)中成功运行: 但是python(2.7.5)中的以下代码: 是否生成此错误 sh: -c: line 0: syntax error near unexpected token `>' sh: -c: line 0: `python -c "print 123" > >(tee stdout.txt)' os.system调用sh,它不支持bash的>(进程替换) 出于兼容性原因,即使bash提供了sh,这也是正确的 而是显式运行
sh: -c: line 0: syntax error near unexpected token `>'
sh: -c: line 0: `python -c "print 123" > >(tee stdout.txt)'
os.system
调用sh
,它不支持bash的>(进程替换)
出于兼容性原因,即使bash
提供了sh
,这也是正确的
而是显式运行bash:
import subprocess
subprocess.call(["bash", "-c", 'python -c "print 123" > >(tee stdout.txt)'])
os.system
调用sh
,它不支持bash的>(进程替换)
出于兼容性原因,即使bash
提供了sh
,这也是正确的
而是显式运行bash:
import subprocess
subprocess.call(["bash", "-c", 'python -c "print 123" > >(tee stdout.txt)'])
os.system
调用sh
,它不支持bash的>(进程替换)
出于兼容性原因,即使bash
提供了sh
,这也是正确的
而是显式运行bash:
import subprocess
subprocess.call(["bash", "-c", 'python -c "print 123" > >(tee stdout.txt)'])
os.system
调用sh
,它不支持bash的>(进程替换)
出于兼容性原因,即使bash
提供了sh
,这也是正确的
而是显式运行bash:
import subprocess
subprocess.call(["bash", "-c", 'python -c "print 123" > >(tee stdout.txt)'])
您需要传递参数
shell=True
。更好的方法是使用本机python。出于兴趣,您为什么要使用>(tee…
,而不仅仅是|tee
?感谢本机python建议。无论如何,我想用任何命令来解决这个问题(例如,echo hello
)。如果我试图传递参数shell=True
我得到TypeError:system()不接受关键字参数
我试图使用以下命令运行一个命令:这个问题是问题的一个足够简化的版本。@axelbrz:,然后在Python中对它们执行任何您想要的操作。这最终可能会更好。您需要传递参数shell=True
。更好的方法是使用本机python。出于兴趣,您为什么要使用>(tee…
,而不仅仅是|tee
?感谢本机python建议。无论如何,我想用任何命令来解决这个问题(例如,echo hello
)。如果我试图传递参数shell=True
我得到TypeError:system()不接受关键字参数
我试图使用以下命令运行一个命令:这个问题是问题的一个足够简化的版本。@axelbrz:,然后在Python中对它们执行任何您想要的操作。这最终可能会更好。您需要传递参数shell=True
。更好的方法是使用本机python。出于兴趣,您为什么要使用>(tee…
,而不仅仅是|tee
?感谢本机python建议。无论如何,我想用任何命令来解决这个问题(例如,echo hello
)。如果我试图传递参数shell=True
我得到TypeError:system()不接受关键字参数
我试图使用以下命令运行一个命令:这个问题是问题的一个足够简化的版本。@axelbrz:,然后在Python中对它们执行任何您想要的操作。这最终可能会更好。您需要传递参数shell=True
。更好的方法是使用本机python。出于兴趣,您为什么要使用>(tee…
,而不仅仅是|tee
?感谢本机python建议。无论如何,我想用任何命令来解决这个问题(例如,echo hello
)。如果我试图传递参数shell=True
我得到TypeError:system()不接受关键字参数
我试图使用以下命令运行一个命令:这个问题是问题的一个足够简化的版本。@axelbrz:,然后在Python中对它们执行任何您想要的操作。这最终可能会有更好的结果。