test
스크립트는 Python argparse 문서의 첫 번째 예입니다. https://docs.python.org/3/library/argparse.html
추가 된 새로운 라인 귀하의 의견이에서
Python 2.7.8 (default, Jun 30 2014, 16:03:49)
[MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> usage: test [-h] [--sum] N [N ...] test: error: too few arguments
>>> $ python test.py 1 2 3 4
SyntaxError: invalid syntax
>>> python test.py 1 2 3 4
SyntaxError: invalid syntax
>>> $ python test.py 1 2 3 4
SyntaxError: invalid syntax
>>> python test.py 1 2 3 4 --sum
SyntaxError: invalid syntax
>>> python test.py 1 2 3 4 --sum
내가 Windows 명령에서, 당신은 ('test.py`가 더 좋았을 것) test
로 스크립트를 저장하고 실행되었는지 추론이다 라인
usage: test [-h] [--sum] N [N ...] test: error: too few arguments
생성하는
python -i test
로서 그 사용법 메시지는 parser
; test
은 스크립트의 이름입니다.
나는 RESTART
행에 대해 확실하지 않습니다.Python 호출 (또는 일부 기본 환경 기능)에 -i
옵션이 포함되어있어서 argparse
단계가 실패한 후에도 대화 형 Python 세션에서 나가게됩니다.
>>> $ python test.py 1 2 3 4
SyntaxError: invalid syntax
그러나 상황은 모든 잘못 :
다음 명령은 바로 파이썬 예를 벗어났습니다. 문서에는 $
이 포함되어있어 명령 줄 (Linux 쉘 또는 Windows 명령)에 입력되었음을 나타냅니다. 그리고 의미는 올바른 맥락에서 :
- 실행 파이썬
- 이 인수를 '1', '2'는 test.py 스크립트를
- 를 실행하고 전달하도록 지시 등
그러나 이미 Python 인터프리터 (프롬프트 문자열 >>>
으로 표시)에있는 경우 이는 의미가 없습니다. python
및 test.py
은 파이썬 안에서 기본 의미가없는 문자열입니다. 따라서 해석기는 구문 오류를 발생시킵니다. 그리고 어떤 변형도 그것을 고쳐주지 않습니다. 매우 다른 구문이
>>> parser.parse_args(['--sum', '7', '-1', '42'])
:
을 따라 조금 더는 argparse
문서는 파이썬 대화 형 세션 내에서 parser
를 호출의 예를 제공합니다. 이 python -i
컨텍스트에서 실행해야합니다.
다시 Windows 명령 창에 가서
python test 1 2 3 4
입력하는 작업의 더 나은 기회가있다. 그래도 작동하지 않는다면, 더 기본적인 Python 스크립트를 실행하는 데 집중해야합니다.
=========
여기에 리눅스 쉘에서 또 다른 간단한 스크립트를 실행하는 예입니다. ...$
은 쉘 프롬프트입니다. >>>
은 파이썬 프롬프트입니다. 초기 파이썬 호출에 -i
을 추가하면 파싱 한 후에 파이썬에 남아있게됩니다.
0957:~/mypy$ python -i simple.py
usage: simple.py [-h] foo
simple.py: error: too few arguments
Traceback (most recent call last):
File "simple.py", line 4, in <module>
print(parser.parse_args())
...
SystemExit: 2
>>> python simple.py 1 2
File "<stdin>", line 1
python simple.py 1 2
^
SyntaxError: invalid syntax
내 테스트와 당신의 주요 차이점은 내가 RESTART
을하지 않고 내가 역 추적을 얻을 수 있다는 것입니다. -i
이 없으면 단순히 사용법 메시지를 얻고 명령 줄을 반환합니다.
1000:~/mypy$ python simple.py
usage: simple.py [-h] foo
simple.py: error: too few arguments
1000:~/mypy$
정확하고 완전한 오류 메시지 1 : 1을 복사하는 방법은 어떻습니까? '$ '를 첫 글자로 사용해 보셨습니까? – Mario
오류는 SyntaxError입니다 : 잘못된 구문 – mathsbeauty
'code' Python 2.7.8 (기본, 2014 년 6 월 30 일, 16:03:49) win32의 [MSC v.1500 32 비트 (Intel)] 유형 "copyright", "credits "또는"license() "를 참조하십시오. >>> ================== 다시 시작 ============= =================== >>> 사용법 : test [-h] [--sum] N [N ...] 테스트 : 오류 : 너무 적음 인수 >>> $ python test.py 1 2 3 4 구문 오류 : 잘못된 구문 >>> python 테스트.PY 1 2 3 4 구문 에러 잘못된 구문 >>> $ 파이썬 test.py 1 개 2 3 4 구문 에러 잘못된 구문 >>> 파이썬 test.py 1 개 2 3 4 --sum 구문 에러 잘못된 구문 > >> python test.py 1 2 3 4 --sum – mathsbeauty