IT Share you

Python에 argc 인수가 있습니까?

shareyou 2020. 11. 7. 17:55
반응형

Python에 argc 인수가 있습니까?


C와 C ++로 동일한 프로그램 (텍스트 파일 열기 및 내용 표시)을 작성했습니다. 이제 Python (Linux 시스템에서)에서 동일한 작업을 수행하고 있습니다.

C 프로그램에서 코드를 사용했습니다.

if (argc != 2) {
    /* exit program */
}

질문 : Python에서 인수 수를 확인하는 데 사용되는 것은 무엇입니까?

#!/usr/bin/python
import sys
try:
    in_file = open(sys.argv[1], "r")
except:
    sys.exit("ERROR. Did you make a mistake in the spelling")
text = in_file.read()
print text
in_file.close()

전류 출력 :

./python names.txt = Displays text file (correct)
./python nam = error message: stated from the sys.ext line (correct)
./python = error message: stated from the sys.ext line (wrong: want it to be a
separate error message stating *no file name input*)

당신은 그냥 할 수 있도록 파이썬에서 목록, 길이를 알고있는 len(sys.argv)요소의 수를 얻을 argv.


나는 종종 명령 줄에서 고정 된 수의 인수를 읽기 위해 빠르고 더러운 트릭을 사용합니다.

[filename] = sys.argv[1:]

in_file = open(filename)   # Don't need the "r"

이것은 하나의 인수를 할당하고 filename정확히 하나의 인수가 없으면 예외를 발생시킵니다.


인수 구문 분석을 위해 argparse를 보는 것이 좋습니다.

http://docs.python.org/dev/library/argparse.html

쉽게 할 수 있으며 무거운 짐을 직접들 필요가 없습니다.


dir(sys)아니오라고 말합니다. len(sys.argv)작동하지만 Python에서는 권한보다 용서를 구하는 것이 낫습니다.

#!/usr/bin/python
import sys
try:
    in_file = open(sys.argv[1], "r")
except:
    sys.exit("ERROR. Can't read supplied filename.")
text = in_file.read()
print(text)
in_file.close()

잘 작동하고 더 짧습니다.

어쨌든 종료하려는 경우 다음이 더 좋습니다.

#!/usr/bin/python
import sys
text = open(sys.argv[1], "r").read()
print(text)

나는 print()2.7과 Python 3에서 작동하므로 사용 하고 있습니다.

참고 URL : https://stackoverflow.com/questions/8201955/does-python-have-an-argc-argument

반응형