Вы можете обратиться к этому ответу для получения имени переменной из переменной. Я изменил там функцию namestr
, чтобы получить имя переменной, содержащее букву a
. Это связано с тем, что переменная names
внутри нее содержит такие значения, как ['a1', 'name', '_96', '_97', '_134']
Также лучше использовать with
при открытии файлов, поскольку она закрывается после завершения работы.
a1,a2,a3,a4 = 3,5,10,15
def namestr(obj, namespace):
names = [name for name in namespace if namespace[name] is obj]
name = [n for n in names if 'a' in n]
return name[0]
with open("setupfile.txt","w") as setupfile:
x = [a1,a2,a4]
for name in x:
setupfile.write(namestr(name, globals()) + "=" + repr(name) +"\n")
setupfile.close()