Python 子流程:如何在 python 中执行流程的子流程?
Python subprocess: How can I execute a sub-process of a process in python?
我希望能够运行以下命令:
sh -c "python -c "import sys;sys.platform""
但是我没有用子进程这样做
我尝试了以下但
subprocess.check_output(["sh", "-c", ["python", "-c", '"import sys; print sys.platform"']])
我得到以下输出:
sh: python-cimport: command not found
File "<string>", line 1
"import
^
你的引述互相纠缠不清。尝试:
sh -c 'python -c "import sys; print sys.platform"'
或者,如果您试图从另一个 python 程序中调用它,也许您的意思是这样...
subprocess.check_output(['python', '-c', 'import sys; print sys.platform'])
或者尝试将其嵌套在 shell 中是否有充分的理由?
优先顺序(如何打印平台信息):
#!/usr/bin/env python
import platform
print(platform.platform())
如果你想运行它作为一个单独的进程:
#!/usr/bin/env python
import subprocess
import sys
subprocess.check_call([sys.executable or 'python', '-m', 'platform'])
如果你想 运行 在 shell:
#!/usr/bin/env python
import subprocess
subprocess.check_call('python -m platform', shell=True)
在 POSIX 上相当于:
subprocess.check_call(['/bin/sh', '-c', 'python -m platform'])
您的具体命令:
subprocess.check_call(['/bin/sh', '-c',
"python -c 'import sys; print(sys.platform)'"])
我希望能够运行以下命令:
sh -c "python -c "import sys;sys.platform""
但是我没有用子进程这样做
我尝试了以下但
subprocess.check_output(["sh", "-c", ["python", "-c", '"import sys; print sys.platform"']])
我得到以下输出:
sh: python-cimport: command not found
File "<string>", line 1
"import
^
你的引述互相纠缠不清。尝试:
sh -c 'python -c "import sys; print sys.platform"'
或者,如果您试图从另一个 python 程序中调用它,也许您的意思是这样...
subprocess.check_output(['python', '-c', 'import sys; print sys.platform'])
或者尝试将其嵌套在 shell 中是否有充分的理由?
优先顺序(如何打印平台信息):
#!/usr/bin/env python
import platform
print(platform.platform())
如果你想运行它作为一个单独的进程:
#!/usr/bin/env python
import subprocess
import sys
subprocess.check_call([sys.executable or 'python', '-m', 'platform'])
如果你想 运行 在 shell:
#!/usr/bin/env python
import subprocess
subprocess.check_call('python -m platform', shell=True)
在 POSIX 上相当于:
subprocess.check_call(['/bin/sh', '-c', 'python -m platform'])
您的具体命令:
subprocess.check_call(['/bin/sh', '-c',
"python -c 'import sys; print(sys.platform)'"])