MicroPython应用程序抛出AttributeError,用于非常基本的re.split使用,而不存在重复的"re.py"文件



我似乎不明白为什么我对re库中split函数的通用使用失败了:

from machine import Pin, SPI, UART
from array import array
import sys, re, time, math, framebuf
sys.path.append("C:/Source/Pico/SSD1322_SPI_4W")
print(sys.path)
import ssd1322
print("Test print")
s1="123t123t123"
s2 = re.split(r't', s1)
print(s2)

输出如下:

MicroPython v1.19.1 on 2022-06-18;树莓派Pico与RP2040类型"帮助()";了解更多信息。
% - C运行$ EDITOR_CONTENT["、".frozen"/lib","C:/源/Pico/SSD1322_SPI_4W")

打印测试页

Traceback(最近一次调用):文件",第67行AttributeError: 'module'对象没有'split'属性

该脚本是为MicroPython v1.19.1 (Thonny 3.3.13运行Python 3.7.9)在Win7机器上开发的,用于连接和部署到Raspberry Pi Pico (RP2040)。我把源代码缩减到最少的代码,但仍然会重现这个问题,但我觉得我应该离开我的imports,以防问题可能是一个库冗余地调用另一个库。我对Python和Pico都很陌生,所以我可能只是对一些基本和必要的东西一无所知。有人在这里的评论中询问关于创建另一个模块/文件"re.py"这将导致脚本尝试使用此文件,但我在程序目录中没有看到这样的文件。

此外,我还尝试了split行的替代方案:

s2 = re.split(r"[^a-zA-Z0-9_]+", s1)
s2 = re.split(r"[W]+", s1)

…但两者提供相同的结果。

感谢

在Micropython中,您需要编译匹配的模式,然后在返回的regex对象上调用split方法。

import re

s1="123t123t123"
pattern = re.compile(r't')
s2 = pattern.split(s1)

最新更新