我正在编写一个程序,它接受一个文件参数,如 *.xml 或 *.txt 或类似的东西。例如:
parser.add_argument("-f", "--file")
args=parser.parse_args()
例如
python myprog.py -f *.xml
然后 args.file 不会给出命令行字符串 *.xml,而是目录列表而不是符合 *.xml ,但这不是我想要的行为。
所以这是我的问题:有没有办法将 `*.xml 作为字符串获取。我知道你可以输入
python myprog.py -f '*.xml'
但对于许多不同的用户来说,这将不起作用,因为有些人会忘记 '。
换句话说,我需要在命令行中输入的原始文本。
请您参考如下方法:
问题是 shell 在到达 python 或 argparse 之前扩展了 *。尝试转义它,这样 shell 就不会像这样处理它
python myprog.py -f \*.xml
