python中函数的参数

2024-10-03 06:19:59 发布

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

我有下面的代码,我想在运行时感受函数映射的参数。应该是这样的

#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的一部分

从现在开始谢谢你! 顺致敬意, 埃里克


Tags: 函数代码nameindevmapinput参数
1条回答
网友
1楼 · 发布于 2024-10-03 06:19:59

在我看来,您希望readers是一个非字符串iterable。或许可以试试:

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))

相关问题 更多 >