methodMapping
이라는 사전이있는 mapping.py
이라는 파일이 있습니다. 내 웹 응용 프로그램에서 키 - 값 쌍이 methodMapping 사전에 추가됩니다. mapping.py
에 첨부 한 후 reload(mapping)
이 호출되고 파일이 다시로드됩니다 (파일 상단에 메시지를 인쇄하여 선택 했음). 그러나 키 - 값 쌍에 액세스하려고 시도하면 KeyError
이 발생합니다.플라스크에서 파이썬 모듈을 다시로드하는 방법은 무엇입니까?
원래 mapping.py 파일 : mapping.py 보이는 첨가
from mapping import methodMapping
@app.route('/append', methods=['POST'])
def append():
key = request.form.get('key')
value = request.form.get('value')
value = value.encode('ascii', 'ignore')
f = open('mapping.py', 'a')
f.write('methodMapping["'+key+'"] = '+value)
f.write("\n\n")
f.close()
reload(mapping)
return ....
키 값 후 여기
print('mapping.py loaded) methodMapping = {}
methodMapping['key1'] = 'value1'
는 키 - 값 쌍은 파일에 추가하는 방법이다 이 같은 :
그러나print('mapping.py loaded')
methodMapping = {}
methodMapping['key1'] = 'value1'
methodMapping['key2'] = 'value2'
, 내가 flaskServer.py에서 methodMapping['key2']
에 액세스하려고 KeyError
예외가 발생합니다. 서버를 다시 시작하면 methodMapping['key2']
을 찾을 수 있습니다.
참고 : 이미이 link도 app.run(debug=True, port=8000)
시도 확인했다,하지만 난 Tensorflow 백엔드 keras을 사용하고 두 번로드 = 진정한 디버그 설정 및 ValueError: Tensor tensor(...) is not part of the graph
오류
의견이나 제안을 크게 부탁드립니다. 고맙습니다.
해결책을 찾았습니다. 문제는 매핑을 가져온 방법 때문이었습니다. 'reload (mapping)'을 사용하려면'from import import ... '대신에'import mapping'을 사용해야합니다. – matchifang