從命令列執行Python 函數
問題:
def hello(): return 'Hi :)'如何直接從命令列執行此函數?
理解問題:
Python 腳本通常具有main() 函數,包含腳本執行時要執行的程式碼。但是,如果此函數不存在或您要運行的函數不是主函數,則直接從命令列執行它可能會很棘手。解決方案:
有多種方法可以使用-c(命令)參數從命令列運行特定的Python 函數:1.導入模組與命名空間污染:
$ python -c 'import foo; print foo.hello()'此方法導入foo 模組並直接從中呼叫hello() 函數。但是,它將 foo 模組的整個命名空間暴露給解譯器。
2.選擇性導入且無命名空間污染:
$ python -c 'from foo import hello; print hello()'此方法只匯入 hello() 函數,不會污染解譯器的命名空間。如果您想最大程度地減少名稱衝突,這是一種更乾淨且首選的方法。
3.命名空間控制的中間導入:
$ python -c 'from foo import *; print hello()'此選項將整個 foo 模組匯入到解譯器的命名空間中。雖然它不需要在函數呼叫前加上模組名稱前綴,但如果模組包含許多函數,則可能會導致命名空間污染。
以上是如何直接從命令列執行Python函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!