bashシェルからPythonスクリプトでカスタム定義関数を呼び出すにはどうすればよいですか?
sys.argv [1]を使おうとしましたが、正しく機能しませんでした。
例えば、
import sys
if __name__=='__main__':
try:
func = sys.argv[1]
except: func = None
def function1():
~~~~~~~~
return a
def function2():
~~~~~~~~
return b
ここでは、次のように入力して関数1または関数2を呼び出します。
$ script.py function1
$ script.py function2
関数の名前を取得していますが、実行していません。func名が関数の1つであるかどうかを、実行するよりも最初に確認する必要があります。
if __name__=='__main__':
try:
func = sys.argv[1]
except:
func = None
functions = {
"function1": function1,
"function2": function2
}
if func in functions:
functions[func]()
より簡単な解決策:
if func == "function1":
function1()
elif func == "function2":
function2()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加