在Python中将整数从argv传递到数组中

在Python中将整数从argv传递到数组中,python,arrays,Python,Arrays,我想通过sys.argv将一些整数值传递到数组中,但得到了一个TypeError。 如何将argv列表中的整数传递到数组中?我必须进行显式转换吗 #!/usr/bin/python from array import array import serial, sys ser = serial.Serial('/dev/ttyACM0', 9600) a=array('i',(0 for i in range(1, 3))) a.append(sys.argv[1]) a.append(sys

我想通过sys.argv将一些整数值传递到数组中,但得到了一个TypeError。 如何将argv列表中的整数传递到数组中?我必须进行显式转换吗

#!/usr/bin/python
from array import array
import serial, sys

ser = serial.Serial('/dev/ttyACM0', 9600)
a=array('i',(0 for i in range(1, 3)))

a.append(sys.argv[1])
a.append(sys.argv[2])
a.append(sys.argv[3])

print(a.range(0-2))
以下是错误:

$ ./a.py 2 3 4
Traceback (most recent call last):
  File "./a.py", line 8, in <module>
    a.append(sys.argv[1])
TypeError: an integer is required
$。/a.py 2 3 4
回溯(最近一次呼叫最后一次):
文件“/a.py”,第8行,在
a、 追加(sys.argv[1])
TypeError:需要一个整数
我得到数组('I')是一个整数数组,sys.argv是一个列表项。 我只是不知道如何让sys.argv变成int。

替换:

a.append(sys.argv[1])
a.append(sys.argv[2])
a.append(sys.argv[3])
与:

这是:

print(a.range(0-2))
与:


否则它将抛出另一个错误。

我不知道您希望
a.range(0-2)
做什么,但其余的可以在一行中完成:
a=array('I',map(int,sys.argv[1:4])
。Python是强类型的,它不进行隐式转换。
print(a.range(0-2))
print(a[0:2]) # or print(a)