[英]How can you give the python interpreter commands from within a script?
我编写了一个 bash 脚本来使用echo '...' > setup.py
创建一个设置文件,然后在下一行中我使用python setup.py build_ext --inplace
执行它。 我用 Python 中文件对象的写入方法复制了第一部分,我的问题是如何在 Python 脚本中复制第二部分?
您似乎要做的不是给出 Python 解释器命令,而是实际上从 Python 程序执行中执行 bash/shell 命令。
当您打开终端并运行时:
python setup.py build_ext --inplace
发生的情况是一个新的 Python 进程启动并执行 setup.py
您的目标是从 Python 脚本中执行相同的操作。 普遍接受的方法是使用subprocess
进程模块: https://docs.python.org/3/library/subprocess.html
就像是
subprocess.run(["python", "setup.py", "build_ext", "--inplace"])
应该管用。 或者,如果您真的知道自己在做什么,并且知道subprocess.run
调用的输入永远不会暴露给用户(因此被劫持),您可以改用:
subprocess.run("python setup.py build_ext --inplace", shell=True)
或者,如果您想深入了解 Python 您可以 go 查看如何直接从代码调用 setuptools 的 build_ext 命令。 这是朝着这个方向发展的良好开端。 https://github.com/pypa/setuptools/blob/master/setuptools/command/build_ext.py#L83
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.