在Python命令行输入(Command line input in Python)

2019-08-31 23:18发布

是否有可能先运行该程序,然后等待命令行用户的输入。 例如

Run...

Process...

Input from the user(in command line form)...

Process...

Answer 1:

这是完全不清楚的OP是什么意思(即使在评论一些回来的往复),但这里有两个问题的答案的可能的解释:

对于交互式用户输入(或管道命令或重定向输入)

使用raw_input在Python 2.x和input在Python 3(这些都是内置的,所以你不需要输入任何东西使用它们,你只需要使用适合您的Python版本。)

例如:

user_input = raw_input("Some input please: ")

更多细节可以发现在这里 。

因此,举例来说,你可能有一个脚本,看起来像这样

# First, do some work, to show -- as requested -- that
# the user input doesn't need to come first.
from __future__ import print_function
var1 = 'tok'
var2 = 'tik'+var1
print(var1, var2)

# Now ask for input
user_input = raw_input("Some input please: ") # or `input("Some...` in python 3

# Now do something with the above
print(user_input)

如果您在保存这个foo.py ,你可以只调用命令行脚本,它会打印出tok tiktok ,然后要求您输入。 你可以进入bar baz (按ENTER键),它会打印bar baz 。 下面是什么样子:

$ python foo.py
tok tiktok
Some input please: bar baz
bar baz

在这里, $代表命令行提示符(所以你不实际键入),和我打Enter输入后bar baz当它要求输入。

对于命令行参数

假设你有一个脚本名为foo.py ,想带参数调用它barbaz从像在命令行

$ foo.py bar baz

(同样, $表示命令行提示符)。然后,你可以做到这一点,在你的脚本如下:

import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]

在这里,变量arg1将包含字符串'bar' ,和arg2将包含'baz' 。 对象sys.argv仅包含一切命令行的列表。 需要注意的是sys.argv[0]是脚本的名称。 如果,例如,你只是想所有的参数一个列表,你可以使用sys.argv[1:]



Answer 2:

只是把输入

the_input = raw_input("Enter input: ")

仅此而已。

此外,如果你想输入一个列表,你可以这样做:

a = []

for x in xrange(1,10):
    a.append(raw_input("Enter Data: "))

在这种情况下,您会被要求提供数据的10倍存储在列表中9个项目。

输出:

Enter data: 2
Enter data: 3
Enter data: 4
Enter data: 5
Enter data: 7
Enter data: 3
Enter data: 8
Enter data: 22
Enter data: 5
>>> a
['2', '3', '4', '5', '7', '3', '8', '22', '5']

你可以搜索列表中的根本途径喜欢的东西(使该名单后):

if '2' in a:
    print "Found"

其他:打印“未找到”。

你可以用“的raw_input()”这样的替代“2”:

if raw_input("Search for: ") in a:
    print "Found"
else: 
    print "Not found"

以原始数据来自输入文件通过命令行界面

如果你想利用你从通过命令行养活文件的输入(这通常是你需要做的事情的代码问题时的比赛,像谷歌编程挑战赛或ACM / ICPC IBM):

example.py

while(True):
    line = raw_input()
    print "input data: %s" % line

在命令行界面:

example.py < input.txt

希望帮助。



Answer 3:

如果你使用的是Python 3 raw_input已更改为input

Python 3的例子:

line = input('Enter a sentence:')


Answer 4:

用下面的行启动脚本。 该脚本将首先运行,然后你会得到蟒蛇命令提示符。 此时所有变量和函数将可交互使用和调用。

#!的/ usr /斌/包膜蟒蛇-i



文章来源: Command line input in Python