Я пытаюсь программно определить несколько переменных в локальном пространстве имен:
for build_step in 'prepare', 'configure', 'make', 'stage', 'package', 'all':
p = build_subparsers.add_parser(build_step)
p.set_defaults(build_step=build_step)
if build_step != 'package':
p.add_argument('specfile')
locals()['build_'+build_step+'_parser'] = p
build_prepare_parser
NameError: global name 'build_prepare_parser' is not defined
Однако после запуска этого кода ни одна из переменных, которые я предположительно создавал, на самом деле не существует, несмотря на появление в locals()
.Как мне это сделать в Python 3.2?
Update0
Я знаю, locals()
плохая идея, поэтому я задаю этот вопрос.