Python:将sys.argv与字符串进行比较

age*_*off 0 python

这似乎应该是这么简单,但我有一些严重的问题.我想要做的就是查看用户输入是否与2个字母的表达式匹配.我想我最大的问题是我对re库不是很熟悉,而且文档并没有真正帮助我太多.

这是我到目前为止所尝试的:

试试1

if re.match(sys.argv[3],  "GL",  re.I):
    input_file_path = "V:\\test"
Run Code Online (Sandbox Code Playgroud)

尝试2

if re.ignorecase(sys.argv[3],  "GL"):
    input_file_path = "V:\\test"
Run Code Online (Sandbox Code Playgroud)

尝试3

if sys.argv[3] == "GL":
    input_file_path = "V:\\test"
Run Code Online (Sandbox Code Playgroud)

我调用程序运行的方式:filename.py测试器测试GL"tester"和"test"尚未真正使用.

编辑:我发现了我的主要问题.我在调用一堆if语句而不是elif.所以最后一个说其他的:exit()总是被击中(因为我正在测试第一个if).菜鸟的错误

orl*_*rlp 6

在比较之前将字符串转换为测试为小写,你应该没问题:

if sys.argv[3].lower() == "gl":
    input_file_path = "V:\\test"
Run Code Online (Sandbox Code Playgroud)

更值得注意的是,正则表达式不适合这项工作.