Linux和Python:自动检测Arduino串口

参见英文答案 > Python to automatically select serial ports (for Arduino)                                    4个
我有一个问题是使用Mac / Linux在Python中自动检测我的Arduino串口.

我知道一个有效的shell命令来查找端口;因为Arduino串口几乎总是以tty.usbmodem开头,你可以找到ls / dev的串口grep tty.usbmodem应返回类似tty.usbmodem262141的内容.

但是,我对如何从我的Python代码调用此shell命令感到困惑.我试过这个:

p = "/dev/" + str(subprocess.Popen('ls /dev | grep tty.usbmodem',shell=True).stdout)

哪个应该使p成为/dev/tty.usbmodem262141.

但是,目前我得到/ dev / None.

如何修改我的shell脚本调用以返回正确的字符串?我试过使用several commands to call shell scripts,但都没有用.

解决方法

首先,如果你使用的是shell,你可以使用glob(*),这样你的命令就会变成ls /dev/tty.usbmodem*.

接下来,您甚至不必调用shell命令在Python中使用glob!

请考虑以下代码:

import glob

print(glob.glob("/dev/tty.usbmodem*"))

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...