다음과 같은 문제가 있습니다.Python에서 가져 오는 방법
main.py :
import general_functions
...
def main(argv):
make() # line 98
bake()
if __name__ == "__main__":
sys.exit(main(sys.argv[1:])) # line 120
general_functions.py :
def make(what):...
def bake(how):...
tcs_main.py :
import general_functions
...
class baking(object):
def __init__(self, ...):
muffin = 'chocolate muffin'
make(muffin)
bake(200)
내가이 실행 내 프로젝트에서 나는 아래의 파일이 ./main.py
i :
Traceback (most recent call last):
File "./main.py", line xxx, in <module>
sys.exit(main(sys.argv[1:]))
File "./main.py", line 98, in main
make(muffin)
NameError: global name 'make' is not defined
사실 general_functions.py에서 main.py와 tcs_main.py에서 사용할 수있는 일반 함수를 갖고 싶습니다.
여기서 내가 뭘 잘못하고 있니?
어떻게 가져 오기를 파이썬으로 가져 왔습니까? 나는 그것이 (파이썬에서) 다시 임포트 할 필요가 없다는 것을 import했다면, main.py에서 모든 것을 import 할 수 있고 다른 프로젝트 파일에서도 사용할 수 있다는 것을 읽는가?
감사합니다.
네임 스페이스에 대해 더 자세히 설명해 드리겠습니다. http://stackoverflow.com/questions/22408302/why-cant-pythons-import-work-like-cs-include/22408375#22408375 – bosnjak
"읽었습니다. 다시 가져올 필요가없는 항목을 가져 오는 경우 main.py에서 모든 항목을 가져올 수 있으며 다른 프로젝트 파일에서도 사용할 수 있다는 의미입니까? 아니요, 필요로하는 모든 파일에서 사용할 모듈이나 함수를 가져와야합니다. 모듈 자체는 일단 읽어 와서'sys.modules'에 일단 저장하면 _read_되고, 프로그램의 수명 동안 다른 모든 임포트는 디스크에서 다시 읽지 않고 저장된 모듈을 참조합니다. –
시간과 정성을 다해 주셔서 감사합니다! – FotisK