source

어떻게 사용자 입력을 명령줄 인수를 읽고자.

gigabyte 2022. 9. 15. 22:53
반응형

어떻게 사용자 입력을 명령줄 인수를 읽고자.

어떻게 나는 a)과 어떻게 나는 명령줄에서 실행이 b)논쟁에는을 많이 읽게 하니 사용자 입력을 수용할 수 있는 파이썬 스크립트를 가지고 있나요?

쉽게 텍스트의 사용자 선에서 한 독서에 대한mini-command 라인 통역사(도움을 받고 있는 원문과 autocompletion)과 raw_input(파이선 3+을 위한 입력)를 만들기 위해 cmd 모듈 만들어 볼 수 있는 사용자 입력을 읽는 것.

text = raw_input("prompt")  # Python 2
text = input("prompt")  # Python 3

명령 어 로서 입력에 있다.sys.argv. 당신의 문자로: 이렇게 해 보세요.

import sys
print (sys.argv)

에는 명령줄 옵션을 구문 분석하기 위한 2개 모듈:optparse(사용되지 않기 때문에 파이선 2.7, 사용 argparse 대신)과 getopt 있다.여러분이 대본에 파일 입력할, fileinput의 힘을 주시하다.

그 파이선 라이브러리 참조이란 당신의 친구입니다.

var = raw_input("Please enter something: ")
print "you entered", var

아니면 파이선 3:

var = input("Please enter something: ")
print("You entered: " + var)

raw_inputPython 3.x에서는 사용할 수 없게 되었습니다.raw_input이름이 변경되었습니다.input같은 기능이 존재합니다.

input_var = input("Enter something: ")
print ("you entered " + input_var) 

변경 문서화

명령줄 인수를 처리하는 가장 좋은 방법은 모듈입니다.

사용하다raw_input()사용자 입력을 얻습니다.를 Import 하면, 유저에게 행의 편집과 이력이 표시됩니다.

를 사용하지 않도록 주의해 주세요.input당신이 뭘 하는지 모르는 한 기능을 할 수 있습니다.와는 달리raw_input,input어떤 비단뱀 표현이라도 받아들이기 때문에eval

이 간단한 프로그램을 사용하면 명령줄에서 사용자 입력을 공급하는 방법을 이해하고 잘못된 인수를 전달하는 데 도움이 됩니다.

import argparse
import sys

try:
     parser = argparse.ArgumentParser()
     parser.add_argument("square", help="display a square of a given number",
                type=int)
    args = parser.parse_args()

    #print the square of user input from cmd line.
    print args.square**2

    #print all the sys argument passed from cmd line including the program name.
    print sys.argv

    #print the second argument passed from cmd line; Note it starts from ZERO
    print sys.argv[1]
except:
    e = sys.exc_info()[0]
    print e

1) 5의 제곱근을 구하려면

C:\Users\Desktop>python -i emp.py 5
25
['emp.py', '5']
5

2) 번호 이외의 잘못된 인수 전달

C:\Users\bgh37516\Desktop>python -i emp.py five
usage: emp.py [-h] square
emp.py: error: argument square: invalid int value: 'five'
<type 'exceptions.SystemExit'>

콘솔/단말기로부터의 입력에는 'raw_input'을 사용합니다.

파일 이름 등의 명령줄 인수만 원하는 경우.

$ python my_prog.py file_name.txt

sys.sysv를 사용할 수 있습니다.

import sys
print sys.argv

sys.sysv는 0이 프로그램 이름인 목록이므로 위의 예에서는 sys.sysv[1]가 "file_name.txt"가 됩니다.

풀온 명령줄 옵션을 사용하려면 optparse 모듈을 사용합니다.

페브

Python < 2.7 을 실행하고 있는 경우는, optparse 가 필요합니다.이것에 의해, 애플리케이션의 실행시에 호출되는 커맨드 라인 인수에 대한 인터페이스가 작성됩니다.

그러나 Python © 2.7에서는 optparse가 폐지되어 위와 같이 argparse로 대체되었습니다.의사들의 간단한 예시를 들어보죠

다음 코드는 정수 목록을 가져와서 합 또는 최대값을 생성하는 Python 프로그램입니다.

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                   help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                   const=sum, default=max,
                   help='sum the integers (default: find the max)')

args = parser.parse_args()
print args.accumulate(args.integers)

Python 3.2 2.7부터는 명령줄 인수를 처리하기 위한 argparse가 있습니다.

3.x 버전일 경우 다음 명령을 사용합니다.

variantname = input()

예를 들어, 8을 입력합니다.

x = input()
8

x는 8이 됩니다만, 특별히 정의하지 않는 한 문자열이 됩니다.

따라서 다음과 같이 convert 명령을 사용할 수 있습니다.

a = int(x) * 1.1343
print(round(a, 2)) # '9.07'
9.07

Python 2의 경우:

data = raw_input('Enter something: ')
print data

Python 3의 경우:

data = input('Enter something: ')
print(data)
import six

if six.PY2:
    input = raw_input

print(input("What's your name? "))

언급URL : https://stackoverflow.com/questions/70797/how-to-prompt-for-user-input-and-read-command-line-arguments

반응형