为什么FLAGS像其他变量一样存储值

时间:2018-09-25 03:26:20

标签: python

在以下代码中,我得到以下错误:None类型对象没有属性x。当我通过删除FLAGS运行以下代码时,它可以正常工作。但是我想将这些值分配给FLAGS,因为在我的实际代码中,我想为FLAGS分配不同的值。我该如何解决这个问题?

FLAGS = None
c1 =[1.5, 2.0, 2.5]

for i in range(len(c1)):
    FLAGS.x = c1[i]
    print(FLAGS.x)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--x', type=float, default=2.0)
    FLAGS = parser.parse_args()

1 个答案:

答案 0 :(得分:2)

在初始化FLAGS变量之前,将执行if __name__ == '__main__':以上的代码。试试这样的东西

import argparse

FLAGS = None
c1 =[1.5, 2.0, 2.5]

def main():
    for i in range(len(c1)):
        FLAGS.x = c1[i]
        print(FLAGS.x)


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--x', type=float, default=2.0)
    FLAGS = parser.parse_args()
    main()