を私のために私は、Pythonのgetoptのは、進むべき道だと思います。
#!/usr/bin/python
import sys, getopt
def main(argv):
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
except getopt.GetoptError:
print 'test.py -i <inputfile> -o <outputfile>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'test.py -i <inputfile> -o <outputfile>'
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
elif opt in ("-o", "--ofile"):
outputfile = arg
print 'Input file is "', inputfile
print 'Output file is "', outputfile
if __name__ == "__main__":
main(sys.argv[1:])
使用法:
usage: test.py -i <inputfile> -o <outputfile>
それはあなたが引数の名前を持っているときに実行する方が簡単です。
参考:http://www.tutorialspoint.com/python/python_command_line_arguments.htm
'それはあなたがファイル内のコマンドライン引数を入れて、パラメータの数が手に負えなく取得するために起動したときに便利ですそこから読み取ることができますようにargparse'はかなり素晴らしいです...しかし、あなたが持っている場合変更したいものがたくさんありますが、構造化された初期化ファイル(例えば 'configparser')を使用するほうが良いでしょう。 – mgilson
本当に使い方に依存します。ユーザーが毎回これらのパラメータを入力する必要がある場合、ファイルのエラーが起こりにくくなる可能性があります。 パラメータが頻繁に変更されない場合は、環境変数を使用することもできますが、それは面倒かもしれませんので、推奨しません。 'stdin'から読み込み、値をパイプするか、ここにあるドキュメント(埋め込みデータを渡すためのシェルデバイス)を使います。プログラムがどのように呼び出されているかを、コマンドラインやスクリプトから明確にすることはできますか? – cdarke
@cdarkeこれで、私の引数を含むテキストファイルを使って 'python myscript.py input_args.txt'でプログラムを呼び出しました。 – LukeBowl