0

ユーザー入力を求めるPythonコードがあります。(例: src = input('Enter Path to src: ')。したがって、コマンド プロンプト (例: python test.py) からコードを実行すると、'Enter path to src:' というプロンプトが表示されます。しかし、すべてを 1 行で入力したい (例: python test.py c:\users\desktop\test.py) どのような変更を行う必要がありますか? 事前に感謝します

4

3 に答える 3

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 (2.7 および 3.2 の新機能) またはgetoptなどの引数解析ライブラリを使用できます。

参照: Python のコマンド ライン引数


以下は、必須の送信元パラメーターと送信先パラメーターを指定して argparse を使用する例です。

#! /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、ヘルプ メッセージが表示されます。

于 2013-08-09T21:38:24.757 に答える
1

を使用sys.argv[1]して、最初のコマンド ライン引数を取得できます。さらに引数が必要な場合はsys.argv[2]、 などで参照できます。

于 2013-08-09T21:39:05.923 に答える