python中函数的参数

时间:2014-03-12 05:00:24

标签: python function runtime

我有下面的代码,我想在运行时感受功能图的参数。它应该像

#devices = map(InputDevice, ('/dev/input/event15','/dev/input/event16'))

但是当我尝试在运行时这样做时,它不起作用。这是我的尝试:

readers = ""
devices = map(InputDevice, list_devices())
for dev in devices:
   if "深" in dev.name or "Barcode" in dev.name:
      if readers == "":
         readers = "'" + dev.fn + "'"
      else:
         readers = readers + ", '" + dev.fn + "'"

devices = map(InputDevice, (readers))

读者完全显示' / dev / input / event15' / dev / input / event16' ,但此字符串不能用作参数。我想因为逗号它不起作用。有谁知道我该怎么做?

此功能是evdev的一部分。

谢谢你们! 最好的祝福, 埃里克

1 个答案:

答案 0 :(得分:1)

在我看来,您希望readers成为非字符串可迭代的。也许试试:

devices = map(InputDevice, readers.split(','))

这会将readers拆分为一个列表,而不是将其保留为字符串。

这仍然不是特别干净的代码。最好是首先建立一个列表:

readers = []
devices = map(InputDevice, list_devices())
for dev in devices:
   if "深" in dev.name or "Barcode" in dev.name:
      readers.append(dev.fn)

devices = map(InputDevice, (readers))