You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用re.compile后无法正常打印中文字符的问题求助

解决BeautifulSoup筛选后打印中文显示Unicode转义的问题

这个问题其实是Python对象不同打印逻辑导致的:

  • 当你打印整个table对象时,BeautifulSoup的Tag类会调用__str__方法,它会输出经过编码处理的可读性HTML文本,所以中文能正常显示。
  • 而打印rows列表时,Python会调用每个Tag对象的__repr__方法——这个方法的设计初衷是输出可被Python解析的字符串表示,所以会把非ASCII字符转成Unicode转义序列(比如\u6dfb\u52a0\u7f6e\u9876),方便调试时看准确编码,而非美观的可读性显示。

解决办法

你只需要主动触发Tag对象的字符串转换逻辑,或者遍历列表逐个打印元素即可:

方法1:遍历列表,逐个打印每个标签

for row in rows:
    print(row)

方法2:用prettify()格式化输出(带缩进,更易读)

for row in rows:
    print(row.prettify())

方法3:将列表元素转为字符串后批量打印

print([str(row) for row in rows])

效果验证

用上述任意方法打印后,title属性的值会正常显示为"添加置顶",不再是Unicode转义字符。

内容的提问来源于stack exchange,提问作者Mary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:46:37