[英]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.