English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

python의 동적 로드 구현 방법

스크립트 라이브러리는 모두 동적 로드라는 장점이 있습니다. lua 언어가 이 장점을 가지고 있으며, python도 이 특성을 가지고 있습니다. 간단히 말해서, 개발자가 자신의 코드에 버그를 발견하면, 원래 코드를 닫지 않고 동적으로 모듈을 대체할 수 있습니다. 대체 방법은 일반적으로 reload을 통해 완료됩니다.

1reload의 기본 원리

reload은 주로 두 가지 작업을 수행합니다. 기존 모듈을 제거하고 새 모듈을 추가합니다

2reload의等效 코드

del sys.modules[module_name]
__import__(module_name)

3reload 사용 시 주의할 점

3.1 reload의 입력 매개변수는 module입니다. 문자열이 아닙니다. 즉

import sys
module = sys.modules[module_name]

3.2 로드된 파일은 해당 모듈의 __init__.py 파일에만 적용되며, 다른 파일에 대해는 적용되지 않습니다

3.3 디렉토리 내 다른 파일이면, 각각 다시 로드해야 합니다. 예를 들어

import sys
del sys.modules['module_name:sub_file']
__import__('module_name:sub_file')

또는

reload(sys.modules['module_name:sub_file'])

결론

위에 설명한 것은 편집자가 여러분에게 소개한 파이썬 동적 로드 구현 방법입니다. 여러분께 도움이 되길 바랍니다. 어떤 질문이든 남겨주시면, 편집자가 즉시 답변을 드리겠습니다. 또한,呐喊 튜토리얼에 대한 여러분의 지지에 깊이 감사드립니다!

고지사항: 본문은 인터넷에서 가져왔으며, 저작권자는 모두 소유합니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 웹사이트는 소유권을 가지지 않으며, 인공적으로 편집한 것이 아니며, 관련 법적 책임을 지지 않습니다. 저작권 침해가 의심되는 내용이 있으면 이메일을 보내 주시기 바랍니다: notice#oldtoolbag.com(이메일을 보내는 경우, #을 @으로 변경하십시오. 신고하고 관련 증거를 제공하시면, 해당 내용이 사실로 확인되면 즉시 해당 내용을 삭제할 것입니다。)

추천해드립니다