我需要打開另一個CLI,並在那裏運行一個Python腳本。例如。在不同的命令行界面(CLI)中打開python程序?
python C:\Python27\Scripts\script.py test
python /path/to/script_folder/script.py test
我需要同時支持Unix和Windows。
有什麼建議嗎?
我需要打開另一個CLI,並在那裏運行一個Python腳本。例如。在不同的命令行界面(CLI)中打開python程序?
python C:\Python27\Scripts\script.py test
python /path/to/script_folder/script.py test
我需要同時支持Unix和Windows。
有什麼建議嗎?
如果您在尋找運行腳本中的交互式控制檯,然後我會使用這樣的:
import code
console = code.InteractiveConsole()
console.interact()
您可以找到code module documentation的更多信息。特別是,你可能有興趣在runcode
和runsource
方法。
如果你正在尋找一個Python外殼腳本執行後運行的腳本並繼續,然後我會使用這樣的:
$ python -i <path_to_script>
如果我正確理解你的問題,你想:
根據點3是否必須離開終端窗口打開,解決方案可能會有很大的不同。
如果您不需要窗口打開,只是去os.system
或subprocess
。如果你只運行一個python腳本,你可能逃脫只是指定「蟒蛇」的可執行文件,因此是跨平臺的。
如果您確實需要打開窗口,您必須啓動特定操作系統特定的shell +終端(Windows中的cmd.exe; unix世界中的/ bin/sh,/ bin/bash或其他任何東西,可能由xterm
包裝)。
但說實話,除非有一些非常具體的要求打開一個完全不同的終端會話,你應該做的只是導入第二個模塊並從第一個模塊運行,或者在內存中讀取它,然後使用exec
。
想來想去,閱讀這個問題和其他人,我找到了解決辦法,有我「的男人我是啞巴」的時刻,而在最後,這將這樣的伎倆:
command = r'start cmd.exe python "' + <script> + r'" [args]'
os.system(command)
關鍵字有是「開始」。它的功能基本上告訴Windows,要執行的文件與實際的調用者沒有關係,而中提琴則有一個新的控制檯。
我不知道有關Unix,但我相信這將會是類似的,使用的是GNOME終端莫名其妙。
我不明白你的問題。 – 2012-01-09 13:01:39
你的兩個命令都應該可以正常工作。你有什麼問題? – 2012-01-09 13:22:47