-3

たとえば、myscript.py というファイルがあるとします。

このファイルには、次のコードが含まれています。

foo(var):
   return var

コマンドラインで引数 var を指定して関数 foo を呼び出すにはどうすればよいですか。

myscript.py が配置されているディレクトリに移動して入力できることはわかっています。

>>> python myscript.py

myscript.py を実行します。唯一の問題は、myscript.py が実行時に foo を自動的に呼び出さないことです。

使ってみました

if __name__ == "__main__":
    foo( )

これは私にはうまくいきません。私がそれをしても、何らかの理由で何も起こりません。エラーメッセージは表示されず、何も呼び出されません。

4

2 に答える 2

2

何も生成しないため、出力は得られません。電話してみてくださいprint

def foo(var):
    print(var)

if __name__ == '__main__':
    foo('Hello, world')
于 2013-03-12T00:22:20.953 に答える
0

sysコマンドラインから引数を渡すには、モジュールを使用する必要があります。あなたはこれを行うことができます:

import sys

def foo(var):
  return var

if __name__ == '__main__':
  # arguments check
  if len(sys.argv) != 2:
    print "USAGE: %s <value>" % sys.argv[0]
    sys.exit(1)

  # get the agument so as to use it to the function call
  arg = sys.argv[1]

  # call the function using this argument
  val = foo(arg)

  # print the returned value
  print val

次に、このコマンドで Python スクリプトを実行できます: python myscript.py 3 引数として、たとえば数値 3 を指定します。

于 2013-03-12T00:29:35.620 に答える