Skip to main content
 首页 » 编程设计

python之使用 sys.argv 检索不同的函数

2025年05月04日23开发

假设我有这些代码行:

if __name__ == '__main__': 
if '-h' in sys.argv: 
    show_help() 
elif '-f' or 'function'in sys.argv: 
    print(function1) 
elif '-n'or '-name' in sys.argv: 
    print(function2) 
elif '-e' or '-extension'in sys.argv: 
    print(function3]) 
elif '-m' or '-missing'in sys.argv: 
    print(function4) 
elif 'r' or '-range' in sys.argv: 
    print(function5) 
else: 
    exit 

这些字母应该是用户在 bash 终端中输入的。 显示帮助方法有效,它能够显示所有字符串。 -f 输入起作用并显示我在该函数中需要的内容,但是代码只是吐出函数 1 中的内容而不是函数 2 中的内容,依此类推。

我如何获得这些不同的字母,-f、-n、-e、-m(如果输入)来执行该功能并吐出该信息? 还有没有为初学者 Python 脚本编写者使用 argparse 的更有效的方法吗?

请您参考如下方法:

要测试两个值中的任何一个是否在列表中,您不能将 or 运算符与 in 运算符一起使用。您需要使用 in 运算符分别测试每个值,如下所示:

if '-h' in sys.argv: 
    show_help() 
elif '-f' in sys.argv or '-function' in sys.argv: 
    print(function1) 
elif '-n' in sys.argv or '-name' in sys.argv: 
    print(function2) 
elif '-e' in sys.argv or '-extension'in sys.argv: 
    print(function3]) 
elif '-m' in sys.argv or '-missing'in sys.argv: 
    print(function4) 
elif '-r' in sys.argv or '-range' in sys.argv: 
    print(function5) 
else: 
    exit