我试图替换/删除文本文档中的一些行。文件采用ISO-8859-1字符编码。你知道吗
当我试图将这一行复制到Python脚本中以替换它时,它将不匹配。如果我缩短行并删除,直到第一个双引号“它将取代它罚款。你知道吗
即
desc = [x.replace('Random text “^char”:', '') for x in desc]
这不匹配。如果我进入:
desc = [x.replace('Random text :', '') for x in desc]
很配。我已经检查过它不是^符号。 显然pythonidle没有使用与文本文件相同的字符集,而是在将其粘贴到脚本中时更改了符号。那么,如果脚本不能处理相同的字符,如何让脚本查找这一行呢?你知道吗
不幸的是,没有可靠的方法来确定纯文本文档的编码,尽管有些包可以通过分析文档的内容来进行很好的猜测。一个流行的第三方编码检测模块是chardet。或者,您可以手动使用一些流行的编码和试错,看看什么工作。你知道吗
一旦确定了正确的编码,在python3中替换操作本身就很简单了。核心思想是将编码传递给
open
函数,这样您就可以将Unicode字符串对象写入文件,或者从文件中读取Unicode字符串对象。下面是一个简短的演示。如果终端的编码设置为UTF-8,这将正常工作。我已经在python3.6.0上测试了它,包括bashshell和idle3.6。你知道吗输出
相关问题 更多 >
编程相关推荐