argv
リスト、ではない文字列です。それはそれははるかに複雑に見えますが、それは拡大してより柔軟、より簡単にコマンドラインユーティリティを行います
>>> import argparse
>>> parser = argparse.ArgumentParser(description="Print a file.")
>>> parser.add_argument("path", type=str, nargs=1, help="Path to the file to be printed.")
_StoreAction(option_strings=[], dest='path', nargs=1, const=None, default=None, type=<type 'str'>, choices=None, help='Path to the file to be printed.', metavar=None)
>>> args = parser.parse_args()
>>> print args
Namespace(path=[<...>])
、そして:あなたは
script = argv[0]
filename = argv[1]
が直接sys.argv
を渡すのではなく、argparse
を使用することを検討してほしいですコマンドラインで適切なドキュメントを確実に取得します。
モードを入れるのが習慣に取得するのはなぜ?デフォルト引数のポイントは、それは必ずしも必要ではないということです。 – katrielalex
私は見ていたのでを使用する必要がありますモードがオプションの場合、デフォルト値はです。つまり、このコードを読んでいる人は誰でも同じことをしなければならないかもしれません。どちらが悪いですか。 – Falmarri
バイナリまたはテキストモードフラグも追加します。それはWindowsに違いがあります。そして、Pythonでは*常に*違いがありますので、入れてください。 –