main 프로그램에서 변수 이름을 받아와서 각 변수에 데이터를 집어넣는 모듈을 만들려고 합니다.
keke(22,23,name=('xx','zz'),d=('aa','bb')) < main 부분입니다.
def keke(*ar, **kw):
print('ar=', ar)
print('kw=', kw)
print(type(kw))
kk = kw.keys()
k2 = kw['name']
# newk = kw['name']
# print(newk)
# print(newk[0:2])
# print(k2)
# print('kkkeys',kk)
for k in kw.keys():
if k == 'name':
# print('name =',kw[k])
newk = kw['name']
# print(newk)
for kk in range(len(newk)):
# print('kk',kk)
# locals()[newk[kk]] = 200 + kk
globals()[newk[kk]] = 100 + kk
vars()[newk[kk]] = 300 + kk
# global newk
# print(globals()[newk[kk]])
# print('var ',vars()[newk[kk]])
if k == 'd':
# print('d =',k)
return globals()[newk[0]], globals()[newk[1]],
name이라는 키워드에 들어가있는 요소 'xx', 'zz' 이름으로 변수를 만드어서 100 + kk 값을 넣는 것을 만들었습니다.
모듈안에서 테스트하면 어쨋든 xx와 zz라는 변수 이름에 값이 출력되는 것을 확인하였는데요.
print(xx) >> 100
print(zz) >> 101
이것을 다른 main.py 파일에서
keke(22,23,c=('xx','zz'),d=('aa','bb'))
이렇게 적고 불러 올려고하면 xx, zz는 없는 변수라고 뜨는데,
어떻게 해결할 수 있을 까요??