文件操作 - list_ports_linux.cpython-310.pyc
返回文件管理
返回主菜单
删除本文件
文件: /usr/lib/python3/dist-packages/serial/tools/__pycache__/list_ports_linux.cpython-310.pyc
编辑文件内容
o ��g_� � @ sr d dl mZ d dlZd dlZd dlmZ G dd� dej�Zddd�Ze d kr5e e� �D ]Zed � e�� q+dS dS )� )�absolute_importN)�list_ports_commonc s( e Zd ZdZ� fdd�Zdd� Z� ZS )�SysFSz-Wrapper for easy sysfs access and device infoc s, t t| ��|� |d urtj�|�rtj�|�}d}nd}d | _tj�d� | j ��rGtj�d� | j ��| _tj�tj�tj� | jd���| _nd | _d | _| jdkr[tj�| j�| _n | jdkre| j| _nd | _| jd ur�tj�| j�| _zt| �| jd��}W n ty� d}Y nw t| �| jd �d �| _t| �| jd�d �| _| �| jd�| _|dkr�tj�| j�| _ntj�| j�| _| �| jd �| _| �| jd�| _| �| jd�| _| jdv r�| �� n$| jdkr�| j | _| �| jd�| _n| jdk�r| j | _tj�| j�| _|�r| jd� |�7 _d S d S )NTFz/sys/class/tty/{}/device� subsystem� usb-serial�usb�bNumInterfaces� �idVendor� � idProduct�serial�manufacturer�product� interface)r r �pnp�id�ambaz LINK={})�superr �__init__�os�path�islink�realpath�usb_device_path�exists�format�name�device_path�basename�joinr �dirname�usb_interface_path�int� read_line� ValueError�vid�pid� serial_number�locationr r r �apply_usb_info�description�hwid)�self�device�is_link�num_if�� __class__� �?/usr/lib/python3/dist-packages/serial/tools/list_ports_linux.pyr sV $ � �zSysFS.__init__c G s\ z#t tjj|� ��}|�� �� }W d � |W S 1 sw Y |W S ty- Y dS w )z� Helper function to read a single line from a file. One or more parameters are allowed, they are joined with os.path.join. Returns None on errors.. N)�openr r r �readline�strip�IOError)r- �args�f�liner3 r3 r4 r$ M s ���zSysFS.read_line)�__name__� __module__�__qualname__�__doc__r r$ � __classcell__r3 r3 r1 r4 r s 8r Fc C s� t � d�}|�t � d�� |�t � d�� |�t � d�� |�t � d�� |�t � d�� |�t � d�� | r?|�t�|�� dd � d d � |D �D �S )Nz /dev/ttyS*z/dev/ttyUSB*z/dev/ttyXRUSB*z/dev/ttyACM*z/dev/ttyAMA*z/dev/rfcomm*z/dev/ttyAP*c S s g | ] }|j d kr|�qS )�platform)r )�.0�infor3 r3 r4 � <listcomp>e s �zcomports.<locals>.<listcomp>c S s g | ]}t |��qS r3 )r )rB �dr3 r3 r4 rD f s )�glob�extendr � list_links)� include_links�devicesr3 r3 r4 �comports[ s �rK �__main__z{0}: {0.subsystem})F)� __future__r rF r �serial.toolsr �ListPortInfor rK r<