これが私のコードです:
def main(*args):
# The following code will look for arguments and record their start and
# end positions.
arg = False
arg_invalid = False
arg_start = -1
arg_end = -1
i = 1
print("main args = " + str(args))
... 不要なコードを削除 ...
if __name__ == "__main__":
print("sys args = " + str(sys.argv))
print("tuple'd args = " + str(tuple(sys.argv)))
main(sys.argv)
そして出力:
$ ./gmanager.py foo bar 128
sys args = ['./gmanager.py', 'foo', 'bar', '128']
tuple'd args = ('./gmanager.py', 'foo', 'bar', '128')
main args = (['./gmanager.py', 'foo', 'bar', '128'],)
ご覧のとおり、main()
が呼び出された後、main()
その引数がタプルに配置されます。複雑な引数/文字列参照 ( ) になるため、これは望ましくありませんarg[x][y][z]
。
関数内で引数を前の状態として受け入れる方法はありますmain()
か、または引数の外側からタプルを取り除くことはできますか?