繁体   English   中英

AttributeError:“命名空间”object 没有属性“myFile”

[英]AttributeError: 'Namespace' object has no attribute 'myFile'

我对 python 比较陌生,并试图理解用 python 编写的网络代码。 然而,当我运行代码时,我遇到了这个问题。 相关部分代码如下所示:

if __name__ == "__main__":
  parser = argparse.ArgumentParser(description="write data file for optimization model")
  parser.add_argument("--graph", metavar="myFile", default=" ", type=str, help="graphml file")
  parser.add_argument("--budget", type=int, default=0, help='budget')
  parser.add_argument("--nsamples", type=int, default=0,help='number of random samples')
  args = parser.parse_args()
  
  budget = getattr(args, 'budget')
  graphFile = getattr(args, 'myFile')
  nsamples = getattr(args, 'nsamples')
  roadSegGraph = nx.read_graphml(graphFile)

错误是

C:\Users\aduam\anaconda3\python.exe "C:/Users/aduam/Downloads/smartcities-master (2)/smartcities-master/Models/real_soc_function/write_data.py" Traceback(最近一次调用最后):文件“C:\Users\aduam\Downloads\smartcities-master (2)\smartcities-master\Models\real_soc_function\write_data.py”,第 344 行,在 graphFile = getattr(args, 'myFile') AttributeError: 'Namespace' object没有属性“myFile”

metavar根据文档修改输出的帮助/使用消息中的参数名称:

请注意,metavar 仅更改显示的名称 - parse_args() object 上的属性名称仍由dest值确定。

您正在寻找dest

另外,我不确定您为什么使用getattr

budget = getattr(args, 'budget')
graphFile = getattr(args, 'myFile')
nsamples = getattr(args, 'nsamples')

可以而且应该只是

budget = args.budget
graphFile = args.myFile
samples = args.nsamples

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM