首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Argparse和"in“选项

Argparse和"in“选项
EN

Stack Overflow用户
提问于 2022-08-17 14:06:06
回答 1查看 25关注 0票数 1

我有一个我认为是微不足道的问题,但却找不到答案。

我有一个非常简单的a解析脚本:

代码语言:javascript
复制
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}')

这将导致一个错误:

代码语言:javascript
复制
  File "[...]\__main__.py", line 16
    (args.in)
          ^^
SyntaxError: f-string: invalid syntax

但是,问题只存在于in参数;如果从f-字符串中删除它,则out参数将被成功打印出来。

如果我试图打印args变量,就会得到

代码语言:javascript
复制
Namespace(in='../../in', out='../../out')

这意味着读取了in参数。我想.in的方式是保留的,但是.我怎样才能访问它?

如果有用的话,我在Windows上使用Python3.10.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-17 14:15:47

你不能- Why can't attribute names be Python keywords?

但是,在解析级别,您可以指定dest参数,这将更改分配给Python中的命令行参数的名称。

代码语言:javascript
复制
parser.add_argument('--in', dest = "_in", help='Input folder', default='../../in')

print(f'From {args._in} to {args.out}')

这样,您仍然可以使用--in ... --out ...参数启动程序,而不会破坏代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73389922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档