我有一个用.py写的文件,需要6个输入。
我正在寻找是否有一个类似于此的单线:
python myprog.py(1,2,1,1,2,4)
非常感谢你们。
答案 0 :(得分:0)
您可以通过sys.argv
列表将参数传递给python程序。它们以字符串形式传递,类似于C
的{{1}}约定。
外壳:
argc,argv
myprog.py:
$ python myprog.py 1 2 1 1 2 4
正如您所看到的,我们正在使用import sys
print [int(x) for x in sys.argv[1:]]
的所有成员,但除了之外的所有成员。第一个成员,如sys.argv
中的argv[0]
,是程序名称。
如果你已经在你的python程序中定义了一些函数,你可以将它添加到文件的底部:
C
作为替代方案,如果您不想修改python程序,并且它已经从标准输入流中读取其输入,则可以使用shell编程:
if __name__ == '__main__':
MyFunction([int(x) for x in sys.argv[1:]])
或者,取决于您的程序如何读取其输入:
echo 1 2 1 1 2 4 | python myprog.py
答案 1 :(得分:0)
在myprog.py中,添加以下代码:
import sys
myparams = [int(i) for i in sys.argv[1:]]
myFunc(*myparams)
现在,您应该可以从命令行执行此操作:
python myprog.py 1 2 1 1 2 4