欢迎访问宙启技术站
智能推送

通过comports()函数在Python中生成20个随机串口名称

发布时间:2024-01-19 22:38:55

在Python中,可以使用pySerial库中的comports()函数生成串口名称列表。comports()函数返回一个由NamedTuple组成的迭代器,其中包含每个可用串口的名称、描述和硬件ID等信息。

下面是一个生成20个随机串口名称的示例代码:

import random
import string
import serial.tools.list_ports

def generate_random_serial_ports(num_ports):
    serial_ports = []
    for _ in range(num_ports):
        port_name = ''.join(random.choices(string.ascii_uppercase + string.digits, k=4))
        serial_ports.append(port_name)
    return serial_ports

if __name__ == "__main__":
    num_ports = 20
    serial_ports = generate_random_serial_ports(num_ports)

    for port in serial_ports:
        print(port)

    # 获取电脑上当前可用的串口
    available_ports = list(serial.tools.list_ports.comports())

    print("
Available Serial Ports:")
    for port in available_ports:
        print(f"- Name: {port.name}, Description: {port.description}, Hardware ID: {port.hwid}")

在这个例子中,我们首先定义了一个名为generate_random_serial_ports()的函数,它接收一个参数num_ports,表示要生成的随机串口数量。函数内部使用random.choices()函数和string.ascii_uppercasestring.digits用于随机生成一个由大写字母和数字组成的长度为4的串口名称。生成的串口名称存储在一个列表中,并在完成生成后返回。

接下来,我们通过调用generate_random_serial_ports()函数生成了20个随机串口名称的列表,并将其存储在变量serial_ports中。

然后,我们使用list(serial.tools.list_ports.comports())来获取电脑上当前可用的串口列表,并将其存储在变量available_ports中。

最后,我们通过遍历serial_portsavailable_ports列表分别打印出生成的随机串口名称和电脑上当前可用的串口名称、描述和硬件ID等信息。

这个例子演示了如何生成随机串口名称,并使用comports()函数获取可用串口的详细信息。你可以根据自己的需求调整生成串口名称的逻辑,并结合其他串口相关的功能进行开发。