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

拆分功能添加:\ xef \ xbb \ xbf…\ n至我的列表

湛骏祥
2023-03-14
问题内容

我想打开我的file.txt文件并拆分所有数据。

这是我的file.txt

some_data1 some_data2 some_data3 some_data4 some_data5

这是我的python代码:

>>>file_txt = open("file.txt", 'r')
>>>data = file_txt.read()
>>>data_list = data.split(' ')
>>>print data
some_data1 some_data2 some_data3 some_data4 some_data5
>>>print data_list
['\xef\xbb\xbfsome_data1', 'some_data1', "some_data1", 'some_data1', 'some_data1\n']

正如您在此处看到的那样,当我打印我的书时,data_list它将this:\xef\xbb\xbf和this:添加到我的列表中\n。这些是什么,如何从它们中清除清单。

谢谢。


问题答案:

您的文件开头包含UTF-8 BOM。

要摆脱它,首先将文件内容解码为unicode。

fp = open("file.txt")
data = fp.read().decode("utf-8-sig").encode("utf-8")

但是最好不要将其编码回utf-8,而是使用unicoded文本。有一个好的规则:尽快将所有输入文本数据解码为unicode,并且只能与unicode一起使用;并尽可能晚地将输出数据编码为所需的编码。这将使您免于很多头痛。

要以某种编码读取较大的文件,请使用io.opencodecs.open

还要检查一下。

使用str.strip()str.rstrip()除去换行符\n



 类似资料:
  • 问题内容: 我有一张桌子需要处理各种字符。字符包括Ø,®等。 我已将表设置为utf-8作为默认排序规则,所有列均使用表默认值,但是当我尝试插入这些字符时,我得到了错误:错误的字符串值:’\ xEF \ xBF \ xBD’对应于’buyerName’列第1行 我的连接字符串定义为 我不知道为什么我仍然看到错误。.net连接器或MySQL设置是否遗漏了任何内容? - 编辑 - 我的(新)C#插入语句

  • 我目前正忙于一个Codenameone应用程序,它要求我通过按钮点击添加项目列表,就像如何在任务列表中添加任务一样。我该怎么做?我对这个有点陌生。请帮忙。

  • 我想用Java中所有可能的方法将一个列表拆分为给定数量的n个子列表。 例如,其中n=3将包括以下列表(但不是一个完整的解决方案-完成将需要更多的空间): 等 我适应了另一个类似的问题的解决方案(以所有可能的方式将列表分割成两个子列表),但它只适用于创建2个子列表的列表,我正在努力掌握如何实现灵活而不是硬编码的子列表数量。 这是我的密码: 我需要创建n个数的EGroup对象添加到,而不是硬编码的2,

  • 问题内容: 我想在不使用split的情况下拆分字符串。任何人都可以解决我遇到的问题,但是我找不到确切的逻辑。 问题答案: 我将假定这是家庭作业,因此我仅给出一些片段作为提示: 查找给定子串的所有出现的索引 这是一个与参数一起使用以查找较大字符串中所有出现的子字符串的示例: 字符串API链接 从指定的索引开始,返回指定子字符串首次出现在该字符串中的索引。如果不存在这种情况,则返回-1。 相关问题 在

  • 下面是一个函数,它获取一个长字符串,并返回一个按段落分割的字符串。 问题是k是空的。为什么函数不起作用?

  • 但我需要一个解释,因为代码的工作方式与预期的不同。 我想在我的网站上有一个链接,用户可以点击whatsapp链接,开始与联系人的对话。 我添加的代码是这样的: null 这段代码在Android和iPhone上都可以使用,但它不允许我添加自定义联系号码: abid只能是已保存在您手机中的联系人的ID,否则它将打开whatsapp中的联系人选择页面 请不要在没有内容解释的情况下分享链接,因为我不是一