변수 이름을 얻는 작은 함수를 작성하고, 존재하지 않는지 확인한 후 파일에서 (pickle을 사용하여) 전역 이름 공간으로로드하려고합니다.파이썬에서 변수로 파일로드하기
import cPickle
#
# Load if neccesary
#
def loadfile(variable, filename):
if variable not in globals():
cmd = "%s = cPickle.load(file('%s','r'))" % (variable, filename)
print cmd
exec(cmd) in globals()
을하지만 그것은 작동하지 않습니다 - 변수가 정의되지 않습니다
나는 파일에이를 사용했습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
내 파일을 execfile로로드 할 때만 작동하지만 가져 오기로로드 할 때 작동하지 않습니다. 왜 그런가요? 감사! –
아마도 전역 변수는 모듈에 전역 적으로 존재하기 때문일 것입니다. –
감사합니다. 모듈에서 자동으로 인터프리터의 globals()에 접근 할 수 있습니까? –