python - 使用用户输入来设置属性

标签 python gpio

免责声明:我已经搜索了几天,但运气不佳。尽管如此,如果某处已经有了答案,我将不胜感激任何人指出我的答案。

我一直在研究 RPi.GPIO 和 python(目前是 3.6),但是在设置一些属性时遇到了一个小障碍。我一直在尝试找到一种使用用户输入来设置属性的方法,大致如下:

mode = input("Enter preferred mode (BCM/BOARD): ").upper()
mode_chosen = "GPIO." + mode
setattr(GPIO, "setmode", mode_chosen)

显然,上面的代码将属性设置为GPIO.BCMGPIO.BOARD作为字符串,这当然是行不通的。我可以编写一个 if-else 循环来调用 GPIO.setmode(GPIO.whatever),具体取决于用户输入,但我想知道是否有更优雅的方法。

我对 python 比较陌生,所以我很可能在这里遗漏了一些重要信息,所以......提前感谢任何花时间回答的人。

最佳答案

一种方法是使用字典:

choices = { "BCM": GPIO.BCM, "BOARD": GPIO.BOARD }
mode_chosen = choices[mode]

关于python - 使用用户输入来设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49474217/

相关文章:

python - Pi 上不同 URL 的 Web 服务器图像链接

python - 按下键时跳转到函数

c# - 从 C# 和 Mono 启动进程时内存不足

python - 更新无限循环中使用的变量

Python——函数类

python小于错误比较int和数组长度

performance - 操作寄存器的正确方法(PUT32 vs GPIO->ODR)

linux - 如何为连接到 I2C gpio 扩展器的虚拟 mdio-gpio 设备配置 ACPI *.asl

Python 列合并

python - Python 中的科学记数法格式