나는 다음과 같은 이상한 행동이 : 통역파이썬은 cmd를
import os
from time import sleep
os.chdir("C:\Path")
execfile('YYY.py')
비단뱀에서 :, 그것은 또 다른 파일을 호출
나는 파이썬 파일을 호출 (이것은 start.py 이름을 할 수 있습니다) (파이썬 쉘) 내가 ('start.py') execfile를 사용 모든 것이 PERFEKT 작동 - 다른 파일이 시작되고 내가 cmd를 >_PATH_to_Python/python.exe start.py
를 실행하면, 파이썬이 시작
잘 작동 start.py가 실행됩니다 , os.chdir ("C : \ Path")는 작동하지만 실행 파일 YYY.py 내 모듈을 찾을 수 없습니다 :
from myclass import ZZZ
ImportError no mudule named myclass
내가 작동하지 않았다, 내 폴더에 빈 __init__.py
있습니다. 내 오른쪽에 폴더 (만약 내가 내 YYY.py에있는 파일을 나열, 내 모듈을 나열 ...)
사실 내가 왜 작동하지 않는지 이해가 안되기 때문에 내 의견으로는 start.py 난 그냥 내 파이썬 코드에 sys.path.append("C:\...\classes")
을 추가
: cmd를 호출하거나 수동으로 더 이상
'execfile'은'sys.path'에 스크립트 디렉토리를 추가하지 않습니다. 'myclass' 라이브러리가 올바르게 설치되었거나 적어도'PYTHONPATH'를 사용해야합니다. – eryksun
좋아, 나는 myclass와 pythonpath를 검사 할 것이다. 하지만 당신이 생각하는 그 이상한, 내가 execfile ('start.py') 일하고있다,하지만 만약 내가 cmd를 통해 그것을 시작하지? – Michael
일반적으로 스크립트의 디렉토리는'sys.path'에 추가됩니다.이 디렉토리는'import'가 스크립트 디렉토리에서 모듈과 패키지를 찾을 수있게합니다. 'execfile'은'sys.path'를 수정하지 않습니다. 수동으로해야 할 것입니다. 즉, 파이썬 3에는'execfile '이 없기 때문에 완전히 피하는 것이 더 낫다고 생각합니다. – eryksun