我使用argparse
非常简单,如下所示:
#file.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--test", action='store_true')
args = parser.parse_args()
从命令行运行该文件时会出现问题:如果我使用python file.py --test
运行该文件,则会正确传递参数,但如果我使用file.py --test
运行该文件则不会传递参数。
我通常以后一种方式运行一些文件,因为我将它们添加到windows路径中,以便在任何地方无限制地运行它们。有没有一种方法可以让我通过这些论点,让它们得到认可?
我认为问题是您的文件没有shebang。我加了shebang,它对我有效。test.py:
#!/usr/bin/env python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--test", action='store_true')
args = parser.parse_args()
print(args.test)
使用python3 test.py --test
运行
输出:
True
使用./test.py --test
运行
输出:
True
请记住确保您的文件在Linux和Windows中都是可执行的。