python - 读取文本文件时缺少连字符
问题描述
我尝试使用这些代码读取文本文件
Text_file = open("file.txt", 'r', encoding="UTF-8", errors='ignore')
firstLine = Text_file.readline()
print(firstLine)
output : search leschnyhan syndrome
但原文是这样的
search lesch–nyhan syndrome
那么我该怎么做才能读取带有连字符的文本文件。谢谢你
解决方案
当我将您的行复制并粘贴search lesch–nyhan syndrome
到记事本中然后保存并使用十六进制编辑器检查时,我发现“连字符”实际上不是连字符。文件中的字节是
E2 80 93
当未编码时,产生带有十进制代码的 Unicode 字符8211
并且是en-dash。
有许多可以使用 Python 的控制台,其中一些不能处理标准 ASCII 或 ANSI 集之外的字符。您的控制台似乎无法处理该字符。尝试其他控制台,例如 Sypder 或 Visual Studio Code 中的控制台。
可以肯定的是,尝试执行print ord(firstLine[12:13])
并查看是否得到结果8211
。如果是这样,您将角色从文件中取出并放入您的角色中,而不是放入您的控制台中。
推荐阅读
- assembly - LC3 程序集输出到控制台的问题
- c++ - Libtorch:如何从 tensorRT fp16 半类型指针创建张量?
- asynchronous - 如何链接 cy.request().then()?
- python - 在熊猫中将国家名称转换为int
- c++ - 为什么 SPOJ 素数生成器代码超过时间限制?
- global-variables - 如何在 Shopify 中创建全局变量?
- angular - Angular:模板解析错误:解析器错误:意外标记 = 在列
- sql - 连接两个表,一个具有父子层次结构,输出提供的行数比表 1 多
- c - 为什么我的二维阵列打印不正确?(使用 fprintf)
- windows - 使用命令行卸载文件。窗户 10