2012-09-27 6 views
-1

모듈 MyModule이 있다고 가정 해보십시오. 함수 Myfunction으로서의 MyModule. Myfunction은 입력 및 피클 파일 'my.p'를 기반으로 무언가를 수행하고이를 반환합니다.모듈 및 경로를 사용하는 파이썬

나는 MyProgram.py라는 프로그램이 있습니다. MyProgram.py에서 MyModule을 가져오고 Myfunction을 많이 사용합니다. like :

from MyModule import MyFunction 

MyProgram.py는 일부 입력 파일을 사용합니다.

MyModule.py와 MyProgram.Py 및 my.p는 모두 같은 폴더에 있습니다.

문제는 Windows 탐색기에서 MyProgram.py를 시작하고 싶습니다. 나는 그것이 입력 파일을 필요로한다고 말했다. 그래서 My (이 프로그램을 작성한 사람)가 선호하는 방법은 입력 파일을 클릭하고 MyProgram.py에 끌어다 놓는 것입니다. 모든 것이 끝났습니다.

나쁜 부분은 내가 그런 식으로하면 오류 메시지가 표시되어 my.p를 찾을 수 없다는 메시지입니다.

I 고토 커맨드를 입력

>python MyProgram.py input.text 

여기에 문제가없는 경우.

sys.argv에 뭔가를 추가해야한다고 생각하지만 실제로는 전혀 모른다. 어떤 도움이 필요합니까?

답변

0

아마도 이것은 상대 경로 이름을 사용하여 발생합니다.

사용 절대 경로 :

from os.path import realpath, dirname 
BASE_PATH = dirname(realpath(__file__)) 
myp  = open(BASE_PATH+'/my.p')