給python程序傳遞參數
運行python腳本時有時需要執行實傳遞參數
在linux下:
[root@Test ~]# cat /opt/python.py #!/usr/local/bin/python # -*- coding:utf-8 -*- import sys print(sys.argv[0]) #sys.argv[0] 類似於shell中的$0,但不是腳本名稱,而是腳本的路徑 print(sys.argv[1]) #sys.argv[1] 表示傳入的第一個參數,既 hello #運行結果: [root@Test ~]# python /opt/python.py hello /opt/python.py #打印argv[0] 腳本路徑 hello #打印argv[1] 傳入的參數 hello
在windows 下:
打開CMD或powershell,切換到python腳本所在位置,使用python filename.py執行腳本
#編輯 D:\Python\Study\python.py #內容如下: #!/usr/bin/env python # -*-coding:utf-8 -*- import sys print(sys.argv[0]) print(sys.argv[1]) 進入powershell PS C:\Windows\system32> cd D:\Python\Study #進入目錄 PS D:\Python\Study> python python.py #執行python腳本 (未傳參數) python.py #報錯信息 Traceback (most recent call last): File "python.py", line 7, in <module> print(sys.argv[1]) IndexError: list index out of range PS D:\Python\Study> python python.py hello #傳入參數(正常運行) python.py hello 或以絕對路徑執行: PS D:\Python\Study> python D:\Python\Study\python.py hello D:\Python\Study\python.py hello