当前位置: 首页 > 面试题库 >

Python字符串打印为[u'String']

师成弘
2023-03-14
问题内容

这肯定是一件容易的事,但这确实困扰着我。

我有一个脚本,可以读取网页并使用Beautiful
Soup对其
进行解析。我从 汤中
提取所有链接,因为我的最终目标是打印出link.contents。

我要解析的所有文本都是ASCII。我知道Python将字符串视为unicode,并且我确信这非常方便,在我的wee脚本中没有用。

每次我去打印一个包含’String’的变量时,我都会被[u'String']打印到屏幕上。是否有一种简单的方法可以将其恢复为ascii,还是应该编写一个正则表达式来删除它?


问题答案:

[u'ABC']将是一元字符串的unicode字符串。美丽的汤总是产生Unicode。因此,您需要将列表转换为单个unicode字符串,然后将其转换为ASCII。

我不知道您是如何得到一元素清单的;content成员将是字符串和标签的列表,这显然不是您所拥有的。假设您实际上总是得到一个包含单个元素的列表,并且您的测试实际上
仅是 ASCII,则可以使用以下命令:

 soup[0].encode("ascii")

但是,请仔细检查您的数据是否真的是ASCII。这很少见。更有可能是latin-1或utf-8。

 soup[0].encode("latin-1")


 soup[0].encode("utf-8")

或者,您可以询问Beautiful Soup原始编码是什么,然后以该编码重新获取:

 soup[0].encode(soup.originalEncoding)


 类似资料:
  • 问题内容: 打印列表中元素之前的“ u”?我没有在代码中键入u。 当我运行此命令时,它将打印列表,但其格式如下: 那些“ u”来自列表中每个元素的位置? 问题答案: 我认为您实际上对此感到惊讶的是,打印单个字符串与打印字符串列表的功能不同–无论是否为Unicode,这都是事实: 即使没有,您也有多余的引号,更不用说反斜杠转义了。而且,如果您使用字节字符串而不是字符串尝试相同的操作,那么您仍然会使用

  • #include <stdio.h> #include <wchar.h> int main(void) { char str1[] = "abcd"; wchar_t str2[] = L"abcd"; return 0; } 技巧 用gdb调试程序时,可以使用“x/s”命令打印ASCII字符串。以上面程序为例: Temporary brea

  • 问题内容: 我正在使用Python打开文本文档: 我想将字符串变量的值替换为文本文档。有人可以让我知道怎么做吗? 问题答案: 如果使用上下文管理器,则将自动为你关闭文件 如果你使用的是Python2.6或更高版本,则最好使用 对于python2.7及更高版本,你可以使用代替 在Python3中,该函数有一个可选参数 Python3.6引入了f字符串作为另一种选择

  • 问题内容: 是否有打印输出help(’myfun’)输出的选项。我看到的行为是将输出打印到std.out,并且脚本等待用户输入(即键入“ q”继续)。 必须有一个设置将此设置为仅转储文档字符串。 或者,如果我可以转储文档字符串加上“ def f(args):”行,那也可以。 搜索“ python帮助功能”很可笑。:)也许我在某个地方缺少一些漂亮的pydoc页面,这可以解释所有这些内容? 问题答案:

  • 问题内容: 我有这个字符串:我想使用Python作为打印它。 仅适用于整数。 怎么做到呢? 问题答案: 您可以将字符串转换为int生成器,对每个元素应用十六进制格式,并使用分隔符插入:

  • 我有这个字符串:并且我想使用Python将其打印为48:65:6c:6c:6f:2c:20:57: 6f: 72:6c: 64:21。 仅适用于整数。 怎样才能做到呢?