2012-07-27 5 views
2

난 파일은 수입이 간단한 코드로 argparse 것을 "test.py"라고했다 : 난- 및 기본 파일 연결

python "test.py" -e hello 
로를 호출하는 경우

import argparse 
parser = argparse.ArgumentParser(description='Description') 
parser.add_argument('-e','--event', help='event', required=True) 
args = vars(parser.parse_args()) 
myArgument = args['event'] 

창에서

잘 작동하지만 난 시도하는 경우가 파이썬을 호출

test.py -e hello 

로 직접 전화를하지만 난 오류가 "-e/- 이벤트는 R입니다 equired "- 즉 인수를 따라 전달하지 않습니다. 창에서

내 협회는 다음과 같이 설정됩니다 :

assoc .py 
.py=Python.File 

ftype Python.File 
Python.File = "C:\Python27,python.exe" "%1" %* 

내가 또 다른 컴퓨터에서 작업해야하기 때문에,이 문제를 알아낼 수 없습니다, 그래서 내가 어떤 경로 또는 환경 변수가 같은데요 바로 설정되지 않았습니까?

미리 감사드립니다.

+0

관련 항목 : [Windows에서 PATH에서 실행시 인수가 손실되는 Python 스크립트] (http://stackoverflow.com/q/10281595/95735), [Windows에서 Python 스크립트를 실행하는 방법] (http : // stackoverflow. co.kr/q/1934675/95735) –

답변

1

파일 연결에 오류가있는 것 같습니다.

Python.File = "C:\Python27,python.exe" "%1" %* 

가 있어야한다 : 나는이 생각

Python.File = "C:\Python27\python.exe" "%1" %* 

(변경 ,\에)이 그냥 오타가 여기 있다면

... 다음 this 질문 할 수있다 관심의 대상.

기본적으로 이러한 연결은 프로그램을 실행할 때 반드시 호출되는 것은 아닙니다. (즉, 기본적으로 나는 당신과 같은 연관 관계를 가지고 있지만, "test.py -e hello"와 같은 python 프로그램을 실행하면 progam test.py가 내 편집기에서 열립니다. 실제로는 python을 실행하지 않습니다 프로그램) 당신은 모두보고 할 수 있습니다

:. 단체에 대한

  • HKEY_CURRENT_USER \ SOFTWARE \ 클래스 \ 평하고,
  • HKEY_LOCAL_MACHINE \ 소프트웨어 \ 클래스 \ 평

그곳에.

1

ftypeHKEY_LOCAL_MACHINE\Software\Classes에있는 것을 보여 주지만이 레지스트리 분기의 값은 HKEY_CURRENT_USER\Software\Classes의 값으로 덮어 쓸 수 있습니다. reg query HKCU\Software\Classes\Python.File\shell\open\command /ve의 결과를 확인하십시오. 귀하의 문제는이 레지스트리 항목에 %* 조각이 없기 때문에 발생합니다.