2016-07-15 2 views
2

내 작업 폴더가 .이고 보조 파이썬 파일이 ./supporting_files/인데 을 a.py 파일의 ./supporting_files/에 저장하려면 어떻게해야합니까? 내가 from supporting_files.a import func 전화를 시도하고 그 작동하지 않습니다. 실제 작업 디렉토리를 변경하지 않고 어떻게해야할까요?작업 디렉토리에없는 파이썬 파일에서 함수를 호출하는 방법은 무엇입니까?

+0

당신이'__init가 있습니까 __. py'? 파이썬 버전은 무엇입니까? – Kasramvd

+0

아니요 하나도 없습니다. 그것은 파이썬 2.7 – xxx222

+0

나를 위해 작동합니다, 재현 할 수 없습니다. 편집 : 파이썬 3에서는 작동하지만 2.7에서는 작동하지 않습니다. – ritlew

답변

1

__init__.py 디렉토리에 파일 (비어있을 수 있음)을 supporting_files 디렉토리에 추가하면 파이썬은 파일을 가져 오기에 사용할 수있는 패키지로 취급합니다. 자세한 내용은 Python documentation에서 확인할 수 있습니다.

3

내가 알고있는 두 가지 방법이 있습니다.

잘못된 방법

import sys 
sys.path.append('./supporting_files')  
from a import func 
func() 

오른쪽 길`supporting_files` 디렉토리에

$ touch supporting_files/__init__.py 

그런

import supporting_files.a as a 

a.func() 
+0

이것이 잘못된 것은 무엇을 의미합니까? – xxx222

+1

그것이 작동한다는 것을 의미하지만 Rube Goldberg 기계가 작동하는 것과 같은 방식으로 작동합니다. 엔터테인먼트/교육에는 적합하지만 그런 식으로 우주 프로그램을 운전하고 싶지는 않을 것입니다. –

+0

고마워. 알았어. – xxx222

관련 문제