在Python 3中读取文件时编码错误?

2023-12-01

当我在 python 中读取文件并将其打印到屏幕上时,它无法正确读取某些字符,但是,这些相同的字符硬编码到变量 print 中就可以了。以下是“test.html”包含文本“Hallå”的示例:

with open('test.html','r') as file:
    Str = file.read()
print(Str)
Str = "Hallå"
print(Str)

这会生成以下输出:

hallå
Hallå

我的猜测是,当文件中的数据被读入Python时,它的解释方式有问题,但是我不确定它是什么,因为Python 3.8.5已经默认使用UTF-8编码。


功能open does not默认使用 UTF-8。作为文档 says:

在文本模式下,如果encoding未指定使用的编码取决于平台:locale.getpreferredencoding(False)调用以获取当前区域设置编码。

因此,这取决于,并且为了确定,您必须自己指定编码。如果文件以 UTF-8 保存,您应该这样做:

with open('test.html', 'r', encoding='utf-8') as file:

另一方面,尚不清楚该文件是否以 UTF-8 编码保存。如果不是,您将必须选择其他一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python 3中读取文件时编码错误? 的相关文章

  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Python在postgresql表中查找带有单引号符号的字符串

    我需要从 psql 表中查找包含多个单引号的字符串 我当前的解决方案是将单引号替换为双单引号 如下所示 sql query f SELECT exists SELECT 1 FROM table name WHERE my column m
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 有没有办法在每个特定的时间间隔运行 python Flask 函数并在本地服务器上显示输出?

    我正在使用 Flask 工作 python 程序 我想从字典中提取键 该密钥为文本格式 但我想在每个特定的时间间隔后重复上述整个过程 并每次在本地浏览器上显示此输出 我已经使用flask apscheduler尝试过这个 程序只运行一次并显
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • 为什么我无法在 Mac OS X Terminal.app 上的 Python 解释器中显示 unicode 字符?

    如果我尝试粘贴 unicode 字符 例如中间的点 在我的 python 解释器中它什么也不做 我在 Mac OS X 上使用 Terminal app 当我只是在 bash 中时 我没有遇到任何问题 但在解释器中 python Pytho
  • 如何使用 sys.path.append 在 Python 中导入文件?

    我的桌面上有两个目录 DIR1 and DIR2其中包含以下文件 DIR1 file1 py DIR2 file2 py myfile txt 这些文件包含以下内容 file1 py import sys sys path append s
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • 无法在 python 3.8 上将带有 webapp 的 python 部署到 azure

    我正在尝试使用部署一个测试项目Flask使用以下方法将框架迁移到 Azure 云中Azure CLI https learn microsoft com en us azure app service containers quicksta
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可

随机推荐

  • 在 Android 中禁用后退按钮(不起作用)

    package com my app import java io ByteArrayOutputStream import java io File import java io FileOutputStream import java
  • 在 Mac 上安装的 VSTS 代理中运行 powershell 构建步骤?

    我在 mac 上安装了 VSTS 构建代理来构建 xamarin iOS 项目 构建工作正常 直到我添加了 powershell 构建步骤 即使我安装了 powershell for mac https github com PowerSh
  • 在 SwiftUI 中读取带有子节点的 Firebase 实时数据库父节点时出现问题

    我有以下 Firebase 实时数据库结构 posts user1 uid Kfm0p2EMcrpN8XcLOR5 created at 1490119356 786182 image height 374 9999999999999 im
  • indexedDB 最高键路径

    我在 indexedDB 中有一个使用 Emberjs 适配器填充的数据库 我已经像这样设置了键路径 this addModel App Device keyPath key 当我第一次解析数据时 我的密钥会自动递增 如下所示 data d
  • FullCalendar 限制事件数量并有更多链接

    我发现有人请求向日历添加 更多 链接并限制活动数量 这件事已经完成了吗 或者有人实施了自己的解决方案 可以分享吗 如果是这样 请发布您的代码 随着新版本 v2 1 0 beta2 于 17 天前发布Arshaw做了以下事情 已解决的问题 带
  • java中通过多线程从数据库读取

    我正在使用java中的多线程从vertica数据库读取数据 我有大约 2000 万条记录 我正在打开 5 个不同的线程 其中有这样的选择查询 start threadnum while start 20000 lt totalRecords
  • JSF - 自定义 NavigationHandler 结果值无效?

    我自己编写了一个自定义的 NavigationHandler 与下面的非常相似 但只是使用堆栈来保存历史记录 http jsfatwork irian at book de custom component html idx custom
  • 实体类的正确设计。需要建议

    例如我有实体类User public class User private long id private String name setters and getters 接下来 我添加新的实体类 Comment public class
  • 将 pandas 数据框拆分为许多块

    假设我有一个具有以下结构的数据框 observation d1 1 d2 1 d3 1 d4 1 d5 1 d6 1 d7 1 d8 1 d9 1 d10 1 d11 1 d12 1 d13 1 d14 1 d15 1 d16 1 d17
  • Ukkonen 的后缀树算法(通俗易懂)

    我现在感觉有点厚 我花了几天时间试图完全理解后缀树的构造 但由于我没有数学背景 许多解释都让我无法理解 因为它们开始过度使用数学符号系统 我发现的最接近一个好的解释是使用后缀树快速字符串搜索 但他掩盖了各个要点 并且算法的某些方面仍然不清楚
  • 关于类型细化语法的困惑

    在类型级别上 我偶然发现以下内容 sealed abstract class StSource A type S def init S create the initial state def emit s S A S emit a val
  • Extjs4组合框在网格中显示值

    请帮忙 我想展示我的displayValue在网格中 我找到了解决方案here 但我不明白如何使用它 我的代码 columns header Product id combo locked true dataIndex prod id ed
  • Android - 如何用另一个字符串替换部分字符串?

    我有一些带有数字和英语单词的字符串 我需要通过找到它们并将它们替换为该单词的本地化版本来将它们翻译成我的母语 你知道如何轻松实现字符串中的单词替换吗 Thanks Edit 我已经尝试过 字符串 to 的一部分应替换为 xyz string
  • Firebase 使用浮点数作为键

    我意识到 当将一些 JSON 数据推送到我的 Firebase 存储 其键是浮点数 时 我从服务器收到 400 HTTP 错误请求 这是我得到的回复 error Invalid data couldn t parse JSON object
  • gdb if 条件语法错误

    我在文件 test f90 中有一个非常简单的 Fortran 程序 program test real x x 12 write x end program test 我用它编译 gfortran g test f90 然后我尝试使用 g
  • PEG (Grako) 的选项解析不足?

    我的同事 PaulS 问了我以下问题 我正在为现有语言 SystemVerilog IEEE 标准 编写一个解析器 并且该规范中有一条结构与此类似的规则 cover point data type identifier coverpoint
  • 如何在 Inno Setup 中更改 RTF 文本中超链接的颜色

    我正在使用来自的代码如何向自定义 Inno Setup WelcomeLabel 添加可点击链接 procedure InitializeWizard var RichViewer TRichEditViewer begin RichVie
  • jQuery.Click 方法重新加载页面

    我正在尝试创建一个浮动 div 当按钮被触发时它就会出现 这并不难 但是当我按下按钮时 页面会自动重新加载 我不知道为什么 我尝试使用 Bootstrap 的 Popover 但由于同样的问题 它无法按预期工作 当弹出窗口被触发时 页面会重
  • 返回浮点类型是否完全符合 IEEE-754 的函数?

    我想写一个函数来检查float double or long double完全符合 IEEE 754 格式 我是说 float IEEE 754 二进制32 双 IEEE 754 二进制 64 长双 IEEE 754 二进制 128 我以为
  • 在Python 3中读取文件时编码错误?

    当我在 python 中读取文件并将其打印到屏幕上时 它无法正确读取某些字符 但是 这些相同的字符硬编码到变量 print 中就可以了 以下是 test html 包含文本 Hall 的示例 with open test html r as