“UnicodeEncodeError:‘ascii’编解码器无法对字符进行编码”

2023-12-31

我试图通过正则表达式传递大的随机 html 字符串,而我的 Python 2.6 脚本对此感到窒息:

UnicodeEncodeError:“ascii”编解码器无法对字符进行编码

我追溯到这个词末尾的商标上标:Protection™——我希望将来能遇到类似的其他人。

有没有处理非ascii字符的模块?或者,在 python 中处理/转义非 ascii 内容的最佳方法是什么?

谢谢! 完整错误:

E
======================================================================
ERROR: test_untitled (__main__.Untitled)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\Test2.py", line 26, in test_untitled
    ofile.write(Whois + '\n')
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2122' in position 1005: ordinal not in range(128)

完整脚本:

from selenium import selenium
import unittest, time, re, csv, logging

class Untitled(unittest.TestCase):
    def setUp(self):
        self.verificationErrors = []
        self.selenium = selenium("localhost", 4444, "*firefox", "http://www.BaseDomain.com/")
        self.selenium.start()
        self.selenium.set_timeout("90000")

    def test_untitled(self):
        sel = self.selenium
        spamReader = csv.reader(open('SubDomainList.csv', 'rb'))
        for row in spamReader:
            sel.open(row[0])
            time.sleep(10)
            Test = sel.get_text("//html/body/div/table/tbody/tr/td/form/div/table/tbody/tr[7]/td")
            Test = Test.replace(",","")
            Test = Test.replace("\n", "")
            ofile = open('TestOut.csv', 'ab')
            ofile.write(Test + '\n')
            ofile.close()

    def tearDown(self):
        self.selenium.stop()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

您正在尝试在“严格”模式下将 unicode 转换为 ascii:

>>> help(str.encode)
Help on method_descriptor:

encode(...)
    S.encode([encoding[,errors]]) -> object

    Encodes S using the codec registered for encoding. encoding defaults
    to the default encoding. errors may be given to set a different error
    handling scheme. Default is 'strict' meaning that encoding errors raise
    a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and
    'xmlcharrefreplace' as well as any other name registered with
    codecs.register_error that is able to handle UnicodeEncodeErrors.

您可能想要类似以下之一的东西:

s = u'Protection™'

print s.encode('ascii', 'ignore')    # removes the ™
print s.encode('ascii', 'replace')   # replaces with ?
print s.encode('ascii','xmlcharrefreplace') # turn into xml entities
print s.encode('ascii', 'strict')    # throw UnicodeEncodeErrors
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“UnicodeEncodeError:‘ascii’编解码器无法对字符进行编码” 的相关文章

  • 如何用该单词的单一版本替换重复单词

    我正在尝试使用 C 处理似乎使用语音转文本的文字记录 我遇到的一个主要问题是重复单词和 或短语 我很想使用正则表达式来替换它们 这里有些例子 我我我真的很想去 但是我不去 去不了 我真的很想使用正则表达式替换 所以它会变成这样 我真的很想去
  • 正则表达式 - Python - 删除前导空格

    我使用正则表达式在文本文件中搜索 产品 一词 然后 我使用该搜索的起点和终点来查看该列并提取整数 有些实例 A 列 有我不想要的前导空格 我只想将数字 如 B 列中的数字 打印到文件中 没有前导空格 正则表达式中的正则表达式 有条件的 pr
  • 将 pandas DataFrame 写入 unicode 中的 JSON

    我正在尝试将包含 unicode 的 pandas DataFrame 写入 json 但是内置的 to json函数对字符进行转义 我该如何解决 Example import pandas as pd df pd DataFrame a
  • 如何查明我的字符串是否包含“micro”Unicode 字符?

    我有一个包含实验室数据的 Excel 电子表格 如下所示 g L ppb 我想测试希腊字母 是否存在 如果发现我需要做一些特别的事情 通常 我会写这样的东西 if cell StartsWith matchSequence lt unive
  • Pandas - 过滤器和正则表达式搜索 DataFrame 的索引

    我有一个 DataFrame 其中列是 MultiIndex 索引是名称列表 即index Andrew Bob Calvin 我想创建一个函数来返回数据帧中使用名称 Bob 或以字母 A 开头或以小写字母开头的所有行 如何才能做到这一点
  • Base 64 编码的有效字符范围

    我对以下内容感兴趣 是否有一个字符列表never作为 Base 64 编码字符串的一部分出现 例如 我不确定这种情况是否会发生 如果原始输入实际上有 作为它的一部分 编码会有所不同吗 这是我可以发现的 RFC 4648 http www r
  • 在 Java/GWT 中解析用户时间输入

    解析用户在 GWT 中的文本字段中键入的时间的最佳方法是什么 默认时间格式要求用户完全按照区域设置指定的时间格式输入时间 我想要更加灵活 因为用户可以通过多种不同的方式输入时间 例如 8 8p 8pm 8 15pm 13 15 1315 1
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • 如何防止用户生成的 Sql 查询上的 Sql 注入

    我有一个项目 私有的 ASP net 网站 受 https 密码保护 其中要求之一是用户能够输入直接查询数据库的 Sql 查询 我需要能够允许这些查询 同时防止它们对数据库本身造成损坏 以及访问或更新它们不应该访问 更新的数据 我制定了以下
  • 将 JavaScript 正则表达式转换为 C#

    如何将以下 Regex 语句转换为 C Match match Regex Match line Trim A Za z s A Za z RegexOptions IgnoreCase if match Success do someth
  • endl 不适用于 wstring (unicode)

    这是代码 std ofstream f file1 txt f lt lt 123 lt
  • 负向查找正则表达式 - 仅出现一次 - Java

    我正在尝试查找字符串是否包含only one一个词的出现 e g String jjdhfoobarfoo Regex foo gt false String wewwfobarfoo Regex foo gt true String jj
  • 正则表达式:如何获取组名称

    我有一个 NET 正则表达式 它看起来类似于
  • 使用 python3 查找表情符号的宽度

    我尝试使用 python 中的模式打印字母 A def printA length height symbol a for i in range length for i in range height for i in range hei
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • mod_rewrite 将 '_' 替换为 '-'

    我几乎已经有了 mod rewrite 规则 但我已经屈服了 我需要重写 country countryname php to country countryname 但是 国家 地区名称 可能有这样的下划线 south africa ph
  • sed - 删除行尾的句点

    我正在尝试删除文本文件中行尾的句点 有些行末尾有句点 有些则没有 cat textfile sometexthere 123 22 no period moretext with period lt remove this period n
  • PostgreSQL & regexp_split_to_array + 取消嵌套

    我有这样的绳子 测试1 纽约 X 测试 2 芝加哥 Y 测试 3 宾夕法尼亚州哈里斯堡 Z 我需要的结果是 Column1 Column 2 Column3 Test 1 new york X Test 2 chicago Y Test 3
  • 如何为所有语言创建字母数字正则表达式?

    我今天遇到了这个问题 此正则表达式仅匹配英语 a zA Z0 9 如果我需要支持这个世界上的任何语言 我应该编写什么正则表达式 如果您使用字符类简写和 Unicode 识别正则表达式引擎 您就可以做到这一点 这 wclass 匹配 单词字符
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明

随机推荐

  • 为什么 GCC 允许通过右值引用进行捕获?

    该标准规定通过右值引用捕获应该是非法的 按右值引用捕获 https stackoverflow com a 3860676 1270003 但我有以下代码 include
  • 使用 Twitter4j Android 转发

    我正在尝试制作简单的应用程序 twitter 我使用 twitter4j 库 并且我得到了如何使用该库登录和发布 twitter 的很好的教程 我的应用程序显示时间线并有转发按钮 我的问题如何使用 twitter4j 库转发 您可以致电St
  • Spy++ 如何构造其进程列表?

    TL DR Spy 工具如何真正构建其进程列表 Stage 我们有一个 MFC 桌面应用程序 在 Windows XP 上运行 它挂起 不再对任何用户输入做出反应 它is然而 通过 alt tab 切换到它时会重新绘制 它确实收到WM SE
  • 如何复制复选框值并使单元格在 Google 表格中保持可编辑状态?

    我两天前发布了这个问题 但没有答案 这是我正在处理的文件副本的链接 基本上 我所做的是 effettivo 页面是 pianificazione 页面的副本 effettivo 中的所有单元格都从其相对位置复制其值 问题是 对于右侧的复选框
  • Liquibase - 不同数据库供应商的校验和不同

    当我尝试在 MSSQL 和 MySQL 上运行 Liquibase 校验和时 我遇到了问题 在我的 MSSQL 库中 我有一个带有此校验和的更改日志条目 3 cf2f5de7a1dcc738bbc185e25fbcf6c9 当我针对这个数据
  • 如何为 Spring 消息本地化启用外文字符?

    消息加载正常 但外来字符未按预期呈现 我的消息属性 messages sv properties 是 login title Logga in login username Anv ndarnamn login password L sen
  • 如何在 Google Sheets 中使用 .gs 脚本打印工作表/范围?

    我正在尝试在 Google Sheets 中创建一个脚本来选择一个范围并打印它 我正在尝试根据一些参数打印一些信息 我有以下脚本来设置所需的范围 但我没有找到使用脚本打印它的方法 function printInvoice var ss S
  • date -d 在 Mac 上不起作用

    我正在尝试将时间戳转换为秒数 但它在 Mac 上无法按预期工作 在linux上我可以运行 date d 2015 06 11 12 39 s我得到1434044340如预期 然而 当我在 Mac 上运行相同的命令时 我得到 usage da
  • 处理 parsedatetime 的不同结果

    在过去 15 年左右的时间里 我只偶尔使用 Perl 工作 现在我正在尝试学习 Python 我无法理解如何处理来自 parsedatetime 的 Calendar parse 的解析方法的两种不同类型的结果 鉴于这个脚本 usr bin
  • 如何强制eclipse使用指定的界面语言?

    我的新工作笔记本电脑设置了我的本地 波兰 语言环境 但是 我根本无法以英语以外的任何语言使用 eclipse 我太习惯英文名字了 所以不明白翻译 如何强制 Eclipse 以操作系统使用的其他语言启动 好 我知道了 eclipse ini
  • 通过 TCP 代理的 RDP

    第一次使用 Stackoverflow 希望有人能帮助我 我正在研究通过 TCP 代理 隧道传递 RDP 流量的概念证明 该代理 隧道将使用 HTTPS 通过防火墙 该问题与将映像部署到计算机有关 因此不能假设 NET 框架将存在 因此在连
  • 将 Grunt 应用程序部署到 heroku 时,NPM 不会安装模块依赖项

    我使用 grunt 制作了一个静态单页网站 我现在尝试使用以下命令将其部署到 herokuheroku buildpack nodejs grunt https github com mbuchetics heroku buildpack
  • 已 root 的 Galaxy S8 上的设备所有者

    我一直在尝试将我的内部演示应用程序提升为设备所有者rootedS8 一直有问题 我尝试过的方法 1 NFC 配置 如所解释的here https github com googlesamples android NfcProvisionin
  • 如何使用应用密码访问bitbucket

    我已经按照说明创建了应用程序密码here https confluence atlassian com bitbucket app passwords 828781300 html 但现在 我如何使用此应用程序密码访问存储库 网址是什么 有
  • 使用 C 无法从 TCP 套接字正确接收数据 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我使用的是 Ubuntu 12 04
  • 如果字符串出现在源(或差异)中,Git 在提交之前发出警告

    当我在某个场所进行表演时 我希望能够被阻止 git如果我要提交的更改包含某个字符串 例如 todo or hack 有人可以告诉我如何实现这一目标吗 或警告 或在提交时 一个简单的预提交钩子检查是否添加了字符串 todo 如下所示 bin
  • Chrome 扩展和 Javasctipy 数据库

    我正在尝试构建一个 Chrome 扩展程序 该扩展程序将大量使用数据和图像 在存储数据时我有哪些选择 我希望我有某种 SQL 选项 SQLite 你可以去base64 http en wikipedia org wiki Base64编码图
  • 在后台打开新标签页?

    使用 javascript 我想在不同的选项卡中打开一个新页面 但仍将注意力集中在当前选项卡上 我知道我可以这样做 open http example com focus 但是 当我在 Chrome 中执行此操作时 它会在切换回当前选项卡之
  • 无法以编程方式更改 UITextView 框架大小

    我已使用界面生成器在视图中插入 UITextView 现在我想更改其框架大小 以便以编程方式适合内容 问题在于 由于限制 大小似乎被锁定并且无法从代码中更改 如果我在文件检查器中禁用自动布局 每个对象都会删除约束 但我只想更改 UIText
  • “UnicodeEncodeError:‘ascii’编解码器无法对字符进行编码”

    我试图通过正则表达式传递大的随机 html 字符串 而我的 Python 2 6 脚本对此感到窒息 UnicodeEncodeError ascii 编解码器无法对字符进行编码 我追溯到这个词末尾的商标上标 Protection 我希望将来