제목이 설명이 아니므로 여기에서 설명 드리겠습니다.Windows에서 PATH에서 실행할 때 인수가 손실되는 Python 스크립트
는 일반적으로 나는이처럼 내 파이썬 스크립트를 실행 : 내 창문 path
환경 변수에 폴더 D:\github\Miscellaneous-Programs\Python
을 추가했다 이제 어떻게
D:\github\Miscellaneous-Programs\Python>python check.py -h
hello
['check.py', '-h']
. 내가 이렇게 내 스크립트를 실행하려고보다 :
C:\Users\noob>check -h
hello
['D:\\github\\Miscellaneous-Programs\\Python\\check.py']
를 보시다시피 그것이 내가에 공급되는 -h
인수를 보여 주었다하지 않았다.
내 내가 위에서 언급 한 파이썬 스크립트에서 print sys.argv
을 제거하면 그것이 내가 즉 위에서 언급 한 두 경우 모두에서 잘 작동 check.py
import sys
print "hello"
print sys.argv
, 그것은 "안녕하세요"잘 인쇄합니다.
그래서 내 질문은 환경 변수에 스크립트를 추가 한 후 일부 명령 줄 인수를 허용하는 python 스크립트를 어떻게 실행하는지입니다.
내 목적은 chmod +x check.py
과 다소 비슷한 windows 명령 프롬프트에서 내 python script
을 실행하는 것입니다.
cygwin에서 chmod
옵션을 시도했지만 두 경우 모두 정상적으로 작동합니다.
Cygwin output
[email protected] ~
$ chmod +x check.py
[email protected] ~
$ ./check.py h
['./check.py', 'h']
'python full \ path \ to \ check.py'를 포함하는 .bat 파일을 만들고'Path'에 해당 .bat가 들어있는 디렉토리를 추가하십시오 (.bat의 시작 부분에'echo off ' – khachik
"PATH에서 Python 스크립트를 실행하면 첫 번째 명령 줄 인수를 제외한 모든 항목이 삭제되므로"동일한 문제가있는 다른 사용자도 찾을 수 있도록 좀 더 자세한 설명이 포함 된 제목을 변경하는 것이 좋습니다. – mensi
정말 그랬습니까? 'C : \ Users \ noob> check -h'가 C : \ Users \ noob> check.py -h'가 아닌가요? –