2012-09-03 5 views
1

py2app를 사용하여 y.py를 .app로 변환합니다. 처음에는 잘 보이지만 open() 및 f.write (아래)를 실행하여 .txt 파일을 만들면 파일을 만들지 않습니다. 나는이 프로그램을 실행하면open()/f.write() 한 번 작동하지 않습니다 py2app를 사용하여 python을 "컴파일"했습니다.

f = open(name + ".txt", "w") 
f.write("users inputs here") 

이것은 평

누구나 어떤 아이디어를 가지고, 나는 그이 일어나고있는 이유를 설명에 거기에 아무것도 찾을 수 없습니다 절대적으로 잘 작동합니다.

+4

상대 경로 또는 절대 경로를 사용하고 있습니까? –

+1

* 파일을 만들지 않으려 고합니다 * : 오류 메시지가 나타 났습니까? – cdarke

+0

.py 또는 .app로 실행하면 오류 메시지가 나타나지 않으며 해당 경로는 상대적입니다. 즉 .app가있는 동일한 디렉토리의 txt 파일을 다시 읽길 원합니다. – user1630350

답변

3

응용 프로그램이 Finder에서 시작될 때 현재 디렉토리가 /으로 설정되는 것이 문제입니다. 따라서 경로는 앱 번들 대신 /에 대한 상대 경로입니다.

파이썬 exe 경로를 얻으려면 sys.executable을 시도하십시오. Contents/MacOS 디렉토리에서 벗어나려면 ../../을 추가해야 할 수도 있습니다.

그러나 더 나은 해결책은 단순히 파일 대화 상자를 사용하여 사용자가 저장 위치를 ​​선택할 수있게하는 것입니다.