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

如何知道Python中文件的编码?

郦祯
2023-03-14
问题内容

有谁知道如何在Python中获取文件的编码。我知道您可以使用编解码器模块打开具有特定编码的文件,但是您必须事先了解它。

import codecs
f = codecs.open("file.txt", "r", "utf-8")

有没有一种方法可以自动检测文件使用哪种编码?

提前致谢

编辑:谢谢大家非常有趣的答案。您可能还会对基于chardet的http://whatismyencoding.com/感兴趣(该站点的更多内容由bottle
python框架提供支持)


问题答案:

不幸的是,没有通过查看文件本身来确定文件编码的“正确”方法。这是一个普遍的问题,不仅限于python或任何特定的文件系统。

如果您正在读取XML文件,则文件的第一行 可能会 提示您编码是什么。

否则,您将不得不使用一些基于启发式的方法,例如chardet(其他答案中给出的解决方案之一),该方法通过检查原始字节格式的文件中的数据来尝试猜测编码。如果您使用的是Windows,我相信Windows
API还会公开一些方法来尝试根据文件中的数据猜测编码。



 类似资料:
  • 问题内容: 在昨天发布的另一个问题中,我对如何在Windows中将Python脚本作为服务运行提供了很好的建议。我唯一想知道的是:Windows如何了解可以在本机工具(“管理工具”中的“服务”窗口)中管理的服务。即 在Windows下,等效于在Linux下将启动/停止脚本放在/etc/init.d中的Windows是什么? 问题答案: 与Windows中大多数“可感知”的东西一样,答案是“注册表”

  • 问题内容: 假设我们有一个文本文件,内容为:“ Je suis un beau homme …” 另一个带有:“我是一个勇敢的人” 第三个带有德语文本:“ Guten morgen。Wie geht的?” 我们如何编写一个函数来告诉我们:以这种可能性,第一个文件中的文本是英语,第二个文件中有法语等? 欢迎链接到书籍/开箱即用的解决方案。我用Java编写,但是如果需要,我可以学习Python。 我的

  • 问题内容: 如何确定脚本本身内部的Bash脚本文件的名称? 就像我的脚本在文件中一样,那么我如何在不进行硬编码的情况下显示“您正在运行runme.sh”消息呢? 问题答案: 要通读通常不是您想要的符号链接1(您通常不希望这样使用户感到困惑),请尝试: 海事组织,这将产生令人困惑的输出。“我运行了foo.sh,但这是说我正在运行bar.sh !?一定是bug!” 此外,具有不同名称的符号链接的目的之

  • 问题内容: 我有一个 可编辑的 JComboBox,无论何时通过键入或选择更改文本,我都想在其中进行一些操作。在这种情况下,文本是一个模式,我想验证该模式是否有效,并显示导致某些测试数据匹配的内容。 完成显而易见的操作后,附加一个ActionHandler,我发现,对于键入而言,该事件充其量似乎是不可靠的(选择很好)。而当它 做 火打字的结果,文字检索(使用getEditor()。getItem(

  • 本文向大家介绍如何用python在Selenium中编写文本文件?,包括了如何用python在Selenium中编写文本文件?的使用技巧和注意事项,需要的朋友参考一下 通过首先创建一个txt文件并在其中包含内容,我们可以使用python在Selenium中编写文本文件。 首先,我们需要以写模式打开文件,并以文本文件的位置路径作为参数。有多种读取方法可以执行这些操作。 write()–将字符串写在一

  • 问题内容: 这就是我知道如何编写和保存它 但是,如果我想编写一个很长的代码,该如何保存到文件中: 问题答案: 您可以通过将多行字符串括在三引号中来创建多行字符串。因此,您可以将HTML存储在字符串中,然后将该字符串传递给: