超过两个系统argv在Python中

2024-10-02 00:36:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小问题要通过两个或更多系统argvPython中的参数。我用下面的代码来做。在

from visa import *
import sys
inst = instrument(sys.argv[1])
inst.write("*rst; status:preset; *cls")
inst.write("voltage:UNIT Vrms")
inst.write("apply:SIN %s %s" % sys.argv[2] % sys.argv[3])

但是这个代码不会生成任何答案。在

但是如果我传递相同的代码,并使用代码嵌入值

^{pr2}$

我知道结果了。在

我有什么遗漏吗?在Python中传递两个以上的sys.argv,任何帮助都非常有用。在


Tags: 代码fromimport参数系统statussysvisa
2条回答

要将元组传递到字符串格式:

>>> "test %s %s" % ("a", "b")
'test a b'

您当前的方式不起作用,因为您告诉它要做的是两次格式化操作,将第三个参数插入第二个参数。在

请注意,在新代码中,^{}是字符串格式的首选方法:

^{pr2}$

例如,您可以使用:

inst.write("apply:SIN {0}, {1}".format(sys.argv[2], sys.argv[3]))

这在Python2.6及更高版本中存在,应该在模运算符上使用。在

可能字符串格式不好,您应该尝试:

inst.write("apply:SIN %s %s" % (sys.argv[2], sys.argv[3]))

在第二个片段中还有一个附加的逗号,因此可能:

^{pr2}$

相关问题 更多 >

    热门问题