В следующем коде я получаю сообщение об ошибке, что объект типа 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()
Ваш код выше, if __name__ == '__main__':
выполняется до того, как была инициализирована переменная FLAGS. Попробуйте что-то вроде этого
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()
for i in range(len(c1)):
зациклиться нижеFLAGS = parser.parse_args()
внутриif __name__ == '__main__':