是否有可能先运行该程序,然后等待命令行用户的输入。 例如
Run...
Process...
Input from the user(in command line form)...
Process...
是否有可能先运行该程序,然后等待命令行用户的输入。 例如
Run...
Process...
Input from the user(in command line form)...
Process...
这是完全不清楚的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
,想带参数调用它bar
和baz
从像在命令行
$ 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:]
。
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
希望帮助。
如果你使用的是Python 3 raw_input
已更改为input
Python 3的例子:
line = input('Enter a sentence:')
用下面的行启动脚本。 该脚本将首先运行,然后你会得到蟒蛇命令提示符。 此时所有变量和函数将可交互使用和调用。
#!的/ usr /斌/包膜蟒蛇-i