注册 登录
编程论坛 Python论坛

为什么命令行 0.py -h 代码sys.argv[1]还是空 网上找的代码

c974288432 发布于 2016-06-10 10:38, 3711 次点击
import sys

if len(sys.argv)<2:
    print 'No '
        sys.exit()

if sys.argv[1].startswith('--'):
    option=sys.argv[1][2:]
    if option=='version':
        print 'versing 1.2'
    elif option=='help':
        print 'help'
    else
        print'Unknown'
        sys.exit()
2 回复
#2
木头lbj2016-07-11 11:57
argv[0] 表示当前文件名称,这个是一直存在的。从argv[1]开始,一次为执行脚本时传入的参数。

这里你传入的参数是 -h,但是注意看这行代码
if sys.argv[1].startswith('--')
,这表示只有满足了以
--
开始的参数才满足条件,才会执行后面的代码。

你使用
0.py -h
来执行,不满足
if sys.argv[1].startswith('--')
这个条件,所以后面都没执行,自然输出为空。
#3
Valenciax2016-08-11 07:21
('--'): 改 ('-'):  
argv[1][2:] 改 argv[1][1:]
1