2010-04-28 4 views
0

나는 실제 연결 부분을 아래로 가지고 있지만 파이썬 프로그램과 관련된 파일을 열면 파일의 파일 경로를 어떻게 열 수 있습니까?파일 형식 연결에 대한 도움말!

나는 sys.argv와 같다고 생각합니다. 그러나 그것은 단지 관련 파일이 아닌 파이썬 프로그램의 경로를 반환합니다.

답변

1

내용은, 플랫폼에 의존 . 내가 sys.argv[0] 당신이 .py 파일을 더블 클릭하여 그것을 사용하여 파일을 열 때만 Windows에서 전체 경로라는 것을 알고 있습니다. 명령 줄을 사용하면 스크립트 이름이됩니다.

os 모듈은 플랫폼 독립적 인 솔루션을 제공합니다. 스크립트의 전체 경로는 항상 다음 코드로 제공되어야합니다.

import os.path 
import sys 

print os.path.abspath(sys.argv[0]) 
1

모듈의 __file__ 속성이 사용자가 찾고있는 것으로 보입니다. 예를 들면, foo.py에 저장 : 당신이 아니라 상대 경로보다는 절대 원하는 경우

$ cat foo.py 
print 'Hello', __file__ 
$ python foo.py 
Hello foo.py 

os.path.abspath가 당신을 도울 것입니다, 등, 등 sys.argv에서 언급 한 바와 같이 sys.argv에의

+0

허? 프로그램을 열기 위해 더블 클릭 한 파일의 경로가 필요합니다. 즉, file1.dgf를 두 번 클릭하면 prog.exe가 열립니다. file1.dfg의 전체 경로는 어떻게 얻습니까? –

+0

질문을'python'으로 태그를 붙였습니다. 그래서'prog.exe'는 그것과 관련이 있습니까? 어쨌든, 당신의 질문은 OS 의존적이라고 생각합니다. OS 관련 태그가 없기 때문에, Windows, MacOSX, KDE, Gnome 또는 그 밖의 다른 것들에 "연관성"이 있는지 알 수 없습니다. 귀하의 (python?) 프로그램이 클릭 된 파일의 경로를'sys.argv [1]'로 받고 있지 않습니까? 이 환경에서는, 그러나 당신의 환경을 알지 못하기 때문에 추측하기가 어렵습니다! -) –

+0

이것은 Windows 플랫폼입니다. Prog.exe는 .exe로 컴파일 된 Python 프로그램이므로 파일 형식 연결입니다. sys.argv [1]를 사용할 때만 자체 경로를 얻고 있습니다. 이유는 확실하지 않습니다. –

관련 문제