2013-08-09 4 views
0

사용자 입력을 요구하는 파이썬 코드가 있습니다. (예 : src = input ('src에 입력 경로 :'). 그래서 명령 프롬프트 (예 : python test.py)를 통해 코드를 실행하면 'Enter path to src :'라고 표시됩니다.하지만 한 줄에 모든 내용을 입력하려고합니다. 예를 들어 파이썬 test.py C : \ 사용자 \ 바탕 화면 \의 내가해야 어떤 변화 test.py) 미리 감사드립니다프롬프트 대신 파이썬 스크립트의 명령 행에서 사용자 입력을 받아들이는 방법

답변

4

함께 src = input('Enter Path to src: ')를 교체합니다.?

import sys 
src = sys.argv[1] 

참조 : http://docs.python.org/2/library/sys.html

경우 당신이 인정하는 것보다 더 복잡한 요구가 있다면, optparse (2.7 이후 사용되지 않음), argparse (new i n 2.7 및 3.2) 또는 getopt.

참조 :

#! /usr/bin/python 
import argparse 
import shutil 

parser = argparse.ArgumentParser(description="Copy a file") 
parser.add_argument('src', metavar="SOURCE", help="Source filename") 
parser.add_argument('dst', metavar="DESTINATION", help="Destination filename") 
args = parser.parse_args() 

shutil.copyfile(args.src, args.dst) 

실행 도움말 메시지를 볼 수 -h이 프로그램 : Command Line Arguments In Python 여기


필요한 소스 및 대상 매개 변수 argparse 사용의 예입니다.

+0

+1, 내가 알고하지 않았다 getopt는을 언급한다. – hd1

+0

@Rob 그래서 src = sys.argv [1] 및 dst = sys.argv [2] 어떻게 이것을 argparse 또는 optparse에 넣을 수 있습니까? – user2661518

+0

@ user2661518 - 내 최근 편집을 참조하십시오. –

1

sys.argv[1]을 사용하면 첫 번째 명령 줄 인수를 얻을 수 있습니다. 추가 인수가 필요하면 sys.argv[2] 등으로 참조 할 수 있습니다.

5

argparse 또는 optparse은 친구입니다. optparse의 샘플 :

from optparse import OptionParser 
parser = OptionParser() 
parser.add_option("-f", "--file", dest="filename", 
       help="write report to FILE", metavar="FILE") 
parser.add_option("-q", "--quiet", 
       action="store_false", dest="verbose", default=True, 
       help="don't print status messages to stdout") 

(options, args) = parser.parse_args() 

및 argparse에 대한 : 완전성에 대해

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() 
+0

그래서 src = sys.argv [1] 및 dst = sys.argv [2] 어떻게 이것을 argparse 또는 optparse에 넣을 수 있습니까? – user2661518

+0

+1 유용한 예제 코드. –

+0

@ user2661518 옵션으로 입력하십시오. – hd1

관련 문제