어떻게 사용자 입력을 명령줄 인수를 읽고자.
어떻게 나는 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_input
Python 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
'source' 카테고리의 다른 글
LEFT JOIN 쿼리를 실행하는 MariaDB가 Mysql보다 100배 느립니다. (0) | 2022.09.15 |
---|---|
MySQL에서 MariaDB로 또는 그 반대로 이행 (0) | 2022.09.15 |
Java를 사용하여 활성 쓰기 대상 파일에서 읽으려면 어떻게 해야 합니까? (0) | 2022.09.15 |
C/C++의 작은따옴표, 큰따옴표 및 크기('a') (0) | 2022.09.15 |
codeigniter 4 mysql 쿼리 고유 또는 그룹별 (0) | 2022.09.15 |