負のインデックスを持つ sys.argv で sys.argv[0] と同じ値を出力できるのはなぜですか? それも、渡された引数の数までこれを許可します。
したがって、次のような developers.google.com の hello.py への呼び出し (スクリプト名を含む 3 つの引数を使用): python hello.py Sumit Test
sys.argv[-1]、[-2]、および [-3] へのアクセスを許可し、それらすべてが argv[0] と同じ値、つまり hello.py を出力しますが、argv[-4] は予想されるエラーをスローします。
Traceback (most recent call last):
File "hello.py", line 35, in <module>
main()
File "hello.py", line 31, in main
print (sys.argv[-4])
IndexError: list index out of range
コードは次のとおりです。
import sys
# Define a main() function that prints a little greeting.
def main():
# Get the name from the command line, using 'World' as a fallback.
if len(sys.argv) >= 2:
name = sys.argv[1]
else:
name = 'World'
print ('Hello', name)
print (sys.argv[-3])
# This is the standard boilerplate that calls the main() function.
if __name__ == '__main__':
main()