向python脚本传递参数的问题
我有一个python脚本,我想传递命令行参数。我从和那里得到了一些指导。我没有在执行脚本时弹出任何错误,但是当没有给出命令行参数时,我没有收到预期的错误消息,当给出-h命令行时,我也没有收到print命令。我已经将print命令添加到-I和-s命令行参数中,并且还没有成功地完成任何命令行参数(尽管没有错误),我不知道为什么这不起作用,因为我对Python没有太多经验。如果有人能向我指出这个问题,我将不胜感激向python脚本传递参数的问题,python,Python,我有一个python脚本,我想传递命令行参数。我从和那里得到了一些指导。我没有在执行脚本时弹出任何错误,但是当没有给出命令行参数时,我没有收到预期的错误消息,当给出-h命令行时,我也没有收到print命令。我已经将print命令添加到-I和-s命令行参数中,并且还没有成功地完成任何命令行参数(尽管没有错误),我不知道为什么这不起作用,因为我对Python没有太多经验。如果有人能向我指出这个问题,我将不胜感激 import re import os import sys import getopt
import re
import os
import sys
import getopt
def main(argv):
ipaddress = ''
scac = ''
try:
opts, args = getopt.getopt(argv,"hi:s:",["ipaddress=","scac="])
except getopt.GetoptError:
print 'test.py -i <ipaddress> -s <scac>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'FedConnectStatus.py -i <iobipaddress> -s <scac>'
sys.exit()
elif opt in ("-i", "--ipaddress"):
ipaddress = arg
elif opt in ("-s", "--scac"):
scac = arg
重新导入
导入操作系统
导入系统
导入getopt
def总管(argv):
IP地址=“”
scac=“”
尝试:
opts,args=getopt.getopt(argv,“hi:s:”,[“ipaddress=”,“scac=”)
除getopt.GetoptError外:
打印'test.py-i-s'
系统出口(2)
对于opt,opt中的参数:
如果opt='-h':
打印“FedConnectStatus.py-i-s”
sys.exit()
elif opt-in(“-i”,“--ipaddress”):
ipaddress=arg
elif选择加入(“-s”,“-scac”):
scac=arg
- 您没有得到帮助,因为您在root上有
应该在if块内sys.exit
def main(argv):
#print argv
ipaddress = ''
scac = ''
try:
opts, args = getopt.getopt(argv,"hi:s:",["ipaddress=","scac="])
if not opts: # if no option given
print 'usage test.py -i <ipaddress> -s <scac>'
sys.exit(2)
except getopt.GetoptError:
print 'test.py -i <ipaddress> -s <scac>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'FedConnectStatus.py -i <iobipaddress> -s <scac>'
sys.exit() # it should be on level of if
elif opt in ("-i", "--ipaddress"):
ipaddress = arg
elif opt in ("-s", "--scac"):
scac = arg
if __name__ == "__main__":
main(sys.argv[1:])
# $ python cmderr.py -h
# FedConnectStatus.py -i <iobipaddress> -s <scac>
def主管道(argv):
#打印argv
IP地址=“”
scac=“”
尝试:
opts,args=getopt.getopt(argv,“hi:s:”,[“ipaddress=”,“scac=”)
如果未选择:#如果未给出选项
打印“usage test.py-i-s”
系统出口(2)
除getopt.GetoptError外:
打印'test.py-i-s'
系统出口(2)
对于opt,opt中的参数:
如果opt='-h':
打印“FedConnectStatus.py-i-s”
sys.exit()
elif opt-in(“-i”,“--ipaddress”):
ipaddress=arg
elif选择加入(“-s”,“-scac”):
scac=arg
如果名称=“\uuuuu main\uuuuuuuu”:
main(sys.argv[1:])
#$python cmderr.py-h
#FedConnectStatus.py-i-s
what is error MSG请提供一个示例输入和程序行为。