나는 실제 연결 부분을 아래로 가지고 있지만 파이썬 프로그램과 관련된 파일을 열면 파일의 파일 경로를 어떻게 열 수 있습니까?파일 형식 연결에 대한 도움말!
나는 sys.argv와 같다고 생각합니다. 그러나 그것은 단지 관련 파일이 아닌 파이썬 프로그램의 경로를 반환합니다.
나는 실제 연결 부분을 아래로 가지고 있지만 파이썬 프로그램과 관련된 파일을 열면 파일의 파일 경로를 어떻게 열 수 있습니까?파일 형식 연결에 대한 도움말!
나는 sys.argv와 같다고 생각합니다. 그러나 그것은 단지 관련 파일이 아닌 파이썬 프로그램의 경로를 반환합니다.
내용은, 플랫폼에 의존 . 내가 sys.argv[0]
당신이 .py
파일을 더블 클릭하여 그것을 사용하여 파일을 열 때만 Windows에서 전체 경로라는 것을 알고 있습니다. 명령 줄을 사용하면 스크립트 이름이됩니다.
os
모듈은 플랫폼 독립적 인 솔루션을 제공합니다. 스크립트의 전체 경로는 항상 다음 코드로 제공되어야합니다.
import os.path
import sys
print os.path.abspath(sys.argv[0])
모듈의 __file__
속성이 사용자가 찾고있는 것으로 보입니다. 예를 들면, foo.py
에 저장 : 당신이 아니라 상대 경로보다는 절대 원하는 경우
$ cat foo.py
print 'Hello', __file__
$ python foo.py
Hello foo.py
os.path.abspath
가 당신을 도울 것입니다, 등, 등 sys.argv에서 언급 한 바와 같이 sys.argv에의
허? 프로그램을 열기 위해 더블 클릭 한 파일의 경로가 필요합니다. 즉, file1.dgf를 두 번 클릭하면 prog.exe가 열립니다. file1.dfg의 전체 경로는 어떻게 얻습니까? –
질문을'python'으로 태그를 붙였습니다. 그래서'prog.exe'는 그것과 관련이 있습니까? 어쨌든, 당신의 질문은 OS 의존적이라고 생각합니다. OS 관련 태그가 없기 때문에, Windows, MacOSX, KDE, Gnome 또는 그 밖의 다른 것들에 "연관성"이 있는지 알 수 없습니다. 귀하의 (python?) 프로그램이 클릭 된 파일의 경로를'sys.argv [1]'로 받고 있지 않습니까? 이 환경에서는, 그러나 당신의 환경을 알지 못하기 때문에 추측하기가 어렵습니다! -) –
이것은 Windows 플랫폼입니다. Prog.exe는 .exe로 컴파일 된 Python 프로그램이므로 파일 형식 연결입니다. sys.argv [1]를 사용할 때만 자체 경로를 얻고 있습니다. 이유는 확실하지 않습니다. –