我需要一个python脚本,打开另一个CLI并在那里运行它。 E.g。
python C:\Python27\Scripts\script.py test
python /path/to/script_folder/script.py test
我需要支持Unix和Windows。
有什么建议吗?
答案 0 :(得分:2)
如果您正在寻找在脚本中运行交互式控制台,那么我会使用以下内容:
import code
console = code.InteractiveConsole()
console.interact()
您可以在code module documentation中找到更多信息。特别是,您可能对runcode
和runsource
方法感兴趣。
如果您正在寻找运行脚本并在python shell中执行脚本后继续,那么我将使用以下内容:
$ python -i <path_to_script>
答案 1 :(得分:0)
如果我理解你的问题,你想:
根据点3是否必须使终端窗口保持打开状态,解决方案可能会有很大不同。
如果您不需要打开窗口,只需转到os.system
或subprocess
。如果你只运行一个python脚本,你可能只是将“python”指定为可执行文件,因此是跨平台的。
如果您确实需要打开窗口,则必须启动特定于操作系统的特定shell +终端(Windows中为cmd.exe;在unix世界中为/ bin / sh,/ bin / bash或其他任何东西,可能包裹在xterm
)。
但说实话,除非有一些非常具体的要求让一个完全不同的终端会话打开,你应该做的只是导入第二个模块并从第一个模块运行它,或者在内存中读取它然后使用{{ 1}}。
答案 2 :(得分:0)
经过深思熟虑,阅读这个问题和其他人,我找到了解决方案,让我的“男人是我笨蛋”的时刻,最后,这将有所作为:
command = r'start cmd.exe python "' + <script> + r'" [args]'
os.system(command)
关键字是“开始”。它的魔力基本上告诉Windows,要执行的文件与实际调用者无关,而且中提琴,你有一个新的控制台。
我不确定Unix,但我认为它类似,不知何故使用gnome-terminal。