Python 运行从命令行发出提示的函数

Python 运行从命令行发出提示的函数,python,unix,input,prompt,Python,Unix,Input,Prompt,我有一个用.py编写的文件,需要6个输入 我想看看是否有类似的一行: python myprog.py(1,2,1,1,2,4) 非常感谢各位。您可以通过sys.argv列表将参数传递给python程序。它们作为字符串传递,类似于C的argc、argv约定 外壳: $ python myprog.py 1 2 1 1 2 4 myprog.py: import sys print [int(x) for x in sys.argv[1:]] 如您所见,我们正在使用除第一个成员之外的所有s

我有一个用.py编写的文件,需要6个输入

我想看看是否有类似的一行:

python myprog.py(1,2,1,1,2,4) 

非常感谢各位。

您可以通过
sys.argv
列表将参数传递给python程序。它们作为字符串传递,类似于
C
argc、argv
约定

外壳:

$ python myprog.py 1 2 1 1 2 4
myprog.py:

import sys
print [int(x) for x in sys.argv[1:]]
如您所见,我们正在使用除第一个成员之外的所有
sys.argv
。第一个成员,如
C
中的
argv[0]
,是程序名

如果python程序中已经定义了一些函数,可以将其添加到文件底部:

if __name__ == '__main__':
    MyFunction([int(x) for x in sys.argv[1:]])
或者,如果您不想修改python程序,并且它已经从标准输入流中读取了输入,则可以使用shell编程:

echo 1 2 1 1 2 4 | python myprog.py 
或者,根据程序读取输入的方式:

$  python myprog.py << woof
> 1
> 2
> 1
> 1
> 2
> 4
> woof
$python myprog.py 1
> 2
> 1
> 1
> 2
> 4
>纬

在myprog.py中,添加以下代码:

import sys
myparams = [int(i) for i in sys.argv[1:]]
myFunc(*myparams)
现在,您应该可以从命令行执行此操作:

python myprog.py 1 2 1 1 2 4

我很困惑,你能提供更多的信息吗?我有一个代码,可以对这些数字做一些简单的工作。它会这样提示:
你的第一个坐标是什么:
你的第二个坐标是什么:
当我从命令行调用程序时,我想要一种简单地输入数字的方法。这对我不起作用。我没有在我的中定义任何函数code@NilesBernoulli:函数调用只是一个示例,表明您可以对数字列表执行任何操作。它不必是函数调用。此外,一旦你阅读了这些数字,你的问题并不是非常清楚你想对它们做什么。因此,我不能给你一个更具体的答案来满足你的需求。但是,导致函数调用的所有代码仍然有效,很抱歉这么晚才回答。但这真的帮了我。我真的很感激!如果可以的话,我会投你一票,但斯塔克说我太新手了。@NilesBernoulli:没问题!考虑接受答案(点击复选标记),如果它对你有用。