これは私のスクリプトです
_def main(argv):
if len(sys.argv)>1:
for x in sys.argv:
build(x)
if __name__ == "__main__":
main(sys.argv)
_
コマンドラインから_python myscript.py commandlineargument
_と書きます
_myscript.py
_をスキップしてcommandlineargument
からcommandlineargument(n)
を実行するだけです
私のforループはこれを考慮していないことを理解していますが、どうすればそれを実行できますか?
sys.argv はリストであるため、スライスsys.argv[1:]
を使用できます。
def main(argv):
for x in argv[1:]:
build(x)
if __name__ == "__main__":
main(sys.argv)
ただし、スクリプトパラメータを1つしか持てない場合は、インデックスで取得してください:sys.argv[1]
。ただし、sys.argv
の長さが1より大きいかどうかを確認し、そうでない場合はエラーをスローする必要があります。次に例を示します。
def main(argv):
if len(argv) == 1:
print "Not enough arguments"
return
else:
build(argv[1])
if __name__ == "__main__":
main(sys.argv)
本当の答えは、argparse
について学び、使用することです。