回答
不是一個Python的傢伙(但無論如何),但我Google-福發現這個假設你的意思是「處理命令行參數」:
http://www.faqs.org/docs/diveintopython/kgp_commandline.html
或者你只是問如何打開命令行?
進入啓動菜單,單擊「運行」(或僅僅類型,在Windows 7中),輸入「cmd」
這將打開一個命令shell。 鑑於你的問題被標記爲python,我不確定它將被編譯成一個exe文件,你可能必須輸入「python(你的源代碼).py -safemode」。
其他意見解決了如何處理參數。如果你想讓你的python程序成爲一個exe文件,你可以看看py2exe。
這不是必需的,但你提到APP.EXE而不是App.py
from optparse import OptionParser
import sys
def make_cli_parser():
"""Makes the parser for the command line interface."""
usage = "python %prog [OPTIONS]"
cli_parser = OptionParser(usage)
cli_parser.add_option('-s', '--safemode', action='store_true',
help="Run in safe mode")
return cli_parser
def main(argv):
cli_parser = make_cli_parser()
opts, args = cli_parser.parse_args(argv)
if opts.safemode:
print "Running in safe mode."
else:
print "Running with the devil."
if __name__ == '__main__':
main(sys.argv[1:])
在使用中:
$ python opt.py
Running with the devil.
$ python opt.py -s
Running in safe mode.
$ python opt.py -h
Usage: python opt.py [OPTIONS]
Options:
-h, --help show this help message and exit
-s, --safemode Run in safe mode
你能舉一個更簡單的例子嗎? = p – Shady 2010-02-25 17:36:00
我感覺到你也想產生一個「可執行文件」,你可以獨立運行....對於您使用的py2exe
這裏是一個完整example.py
:
import optparse
parser = optparse.OptionParser()
parser.add_option("-s", "--safemode",
default = False,
action = "store_true",
help = "Should program run in safe mode?")
parser.add_option("-w", "--width",
type = "int",
default = 1024,
help = "Desired screen width in pixels")
options, arguments = parser.parse_args()
if options.safemode:
print "Proceeding safely"
else:
print "Proceeding dangerously"
if options.width == 1024:
print "running in 1024-pixel mode"
elif options.width == 1920:
print "running in 1920-pixel mode"
這裏是一個完整的setup.py
會變成上述example.py
到example.exe
(在dist
子目錄):
from distutils.core import setup
import py2exe
import sys
sys.argv.append('py2exe')
setup(
options = {'py2exe': dict(bundle_files=1, optimize=2)},
console = ["example.py"],
zipfile = None,
)
但是add_option裏面的內容我把源代碼放到了那個選項中? – Shady 2010-02-25 17:40:29
'options,arguments = parser.parse_args()'將所有選項的標誌放入變量'options' ....然後由你來編寫一個'if'或者任何檢查這些標誌並運行代碼的東西你希望。 (你可以*從技術角度提供選項解析器的功能,但我認爲這是比較容易理解,如果你只是用它來解析,並設置標誌) – 2010-02-25 18:14:16
我打算在這裏做3個命令行,巫每一個需要一個特定的決議...例如,應用程序。exe -1024將在1024x768運行該程序...在那裏我把分辨率代碼在那裏...我還沒有得到=/ – Shady 2010-02-25 21:46:18
你問的是有答案的幾個層次的問題。
首先,命令行被傳入數組sys.argv。 argv是C和Unix語言的歷史名稱。因此:
~/p$ cat > args.py
import sys
print "You have ", len(sys.argv), "arguments."
for i in range(len(sys.argv)):
print "argv[", i, "] = ", sys.argv[i]
~/p$ python args.py 34 2 2 2
You have 5 arguments.
argv[ 0 ] = args.py
argv[ 1 ] = 34
argv[ 2 ] = 2
argv[ 3 ] = 2
argv[ 4 ] = 2
這適用於MS Windows和Unix。第二,你可能會問:「我如何得到漂亮的參數?在 MS窗口中處理/幫助,還是在Linux中使用--help?」
那麼,有三個選擇,試圖做你想做的。兩個,optparse和getopt已經在標準庫中,而argparse正在進行中。所有這三個庫都以sys.argv字符串數組開頭,描述了您的命令行參數,並返回某種類型的數據結構或類,您可以從中獲得所需的選項。
- getopt做最簡單的工作。它不提供「/ help」或「--help」。
- optparse做了一個更詳細的工作。它提供「/ help」以及短期和長期版本的選項,例如「-v」和「--verbose」。
- argparse處理廚房水槽,包括「/ help」,短期和長期命令, 以及子命令結構,如您在源代碼控制「git add ....」和 中看到的位置參數。
當你轉向更豐富的解析時,你需要給解析器更多關於你想要命令行參數的細節。例如,如果您希望使用--help參數來打印參數,則需要傳遞參數的長描述 。
第三,你可能會問一個工具,只是在命令行 的選項,環境變量和配置文件的交易。 Python目前每個都有單獨的工具 。也許我會寫一個統一的,你需要: - 由argparse或getopt等解析的命令行參數。 - 來自os.environ的環境變量[] - 來自ConfigFile或plistlib等的配置文件。 並建立自己的答案「什麼是設置」?
希望這完全回答你的問題
之一許多方面:
import sys
print sys.argv
>>>python arg.py arg1 arg2
['arg.py', 'arg1', 'arg2']
sys.argv中是包含了所有的參數列表(腳本還名稱/程序)作爲字符串。
- 1. 製作帶參數的命令行程序
- 2. 如何設置一個程序的命令行參數GHCI?
- 3. 從命令行參數控制程序
- 4. Bash /打開一個命令運行的命令作爲參數
- 5. 從命令行參數製作窗口
- 6. 使用命令行的參數創建一個C++程序
- 7. 命令行參數如何工作?
- 8. 如何來運行命令行應用程序的Clojure參數
- 9. 我有一個帶字符串的程序來指定可選的命令行參數。如何在c中處理這些可選的命令行參數?
- 10. 如何在Linux中運行多個命令?製作一個程序嗎?
- 11. bash與帶命令行參數的scala.sys.process.Process
- 12. 執行帶參數的cmd命令
- 13. 參數傳遞到命令行程序
- 14. 解析參數Java命令行程序
- 15. x86_64程序集命令行參數
- 16. 如何使用變量命令行參數運行程序?
- 17. 具有SharePoint參數的VB.Net命令行(控制檯)程序
- 18. 如何獲取mfc應用程序中的命令行參數?
- 19. 如何訪問傳遞給Go程序的命令行參數?
- 20. Linux如何通過日期命令的輸出作爲python程序的輸入作爲命令行參數
- 21. 從命令行/蝙蝠帶有參數
- 22. 多個命令行參數
- 23. 如何接受帶有參數的HTTP Post和call命令行?
- 24. 如何運行帶參數名稱的powershell命令是變量
- 25. 如何給python程序兩個可選的命令行整數參數?
- 26. 如何使用pager製作ruby命令行應用程序?
- 27. 通過命令行控制一個shell程序,給它多個指令/數據
- 28. 如何將命令行參數傳遞給WinForms應用程序?
- 29. 如何通過bash將參數傳遞給命令行程序?
- 30. 如何使角應用程序從命令行獲取參數?
FWIW,我知道這不是一個很好的答案,但它確實展示了自己看這些東西有多簡單。 – 2010-02-25 19:33:05