【问题标题】:Error with encoding with regular expression [duplicate]使用正则表达式编码时出错[重复]
【发布时间】:2026-02-02 11:00:01
【问题描述】:

我正在使用 scrapy 和 django。在清理数据时我使用这个:

html = re.sub(r'(™|®|©|™|®|©|™|®|©)', '',html, flags=re.IGNORECASE)

在普通的 python shell 中运行是可以的。然而,每次我尝试用scrapy crawl运行它时,我都会收到这个错误:

SyntaxError: 文件中的非 ASCII 字符 '\xe2' /一些文件/ 在第 105 行,但没有声明编码;看 http://www.python.org/peps/pep-0263.html了解详情

谁能帮帮我。谢谢!

【问题讨论】:

  • 您是否尝试将搜索字符串提取出来并明确声明为 unicode 字符串? mystring=u'regexp|regexp' 并在子字符串匹配中使用它?

标签: python regex django scrapy


【解决方案1】:

我通过以下方式在我的文件中声明了编码:

#!/usr/bin/python
# -*- coding: utf-8 -*-

确保将它们放在文件的第一行。 这似乎解决了我的问题。

谢谢大家!

【讨论】:

  • 重要:这只是为代码设置编码,而不是为您读取的文件设置编码。
最近更新 更多