我有一个我认为是微不足道的问题,但却找不到答案。
我有一个非常简单的a解析脚本:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--in', help='Input folder', default='../../in')
parser.add_argument('--out', help='Output folder', default='../../out')
args = parser.parse_args()
print(f'From {args.in} to {args.out}')这将导致一个错误:
File "[...]\__main__.py", line 16
(args.in)
^^
SyntaxError: f-string: invalid syntax但是,问题只存在于in参数;如果从f-字符串中删除它,则out参数将被成功打印出来。
如果我试图打印args变量,就会得到
Namespace(in='../../in', out='../../out')这意味着读取了in参数。我想.in的方式是保留的,但是.我怎样才能访问它?
如果有用的话,我在Windows上使用Python3.10.4
发布于 2022-08-17 14:15:47
你不能- Why can't attribute names be Python keywords?
但是,在解析级别,您可以指定dest参数,这将更改分配给Python中的命令行参数的名称。
parser.add_argument('--in', dest = "_in", help='Input folder', default='../../in')
print(f'From {args._in} to {args.out}')这样,您仍然可以使用--in ... --out ...参数启动程序,而不会破坏代码。
https://stackoverflow.com/questions/73389922
复制相似问题