久远的心宿三 发表于 2020-10-8 17:52:02

大佬们,为啥这个txt文件读取不了?

如题,下面是文件内容和出错的描述!

疾风怪盗 发表于 2020-10-8 17:56:36

编码,加个encoding='utf-8'试试

weiter 发表于 2020-10-8 18:00:53

本帖最后由 weiter 于 2020-10-8 18:15 编辑

在路径的字符串的第一个引号前面加上r
比如这样:
open(r'C:\Users\q\Desktop\1.txt')


weiter 发表于 2020-10-8 18:15:20

久远的心宿三 发表于 2020-10-8 18:30:10

疾风怪盗 发表于 2020-10-8 17:56
编码,加个encoding='utf-8'试试

这啥意思?视频里完全没教啊。。

久远的心宿三 发表于 2020-10-8 18:30:50

weiter 发表于 2020-10-8 18:00
在路径的字符串的第一个引号前面加上r
比如这样:

这啥原理?视频里演示的时候也没加为啥能正常读取啊?

weiter 发表于 2020-10-8 18:31:50

久远的心宿三 发表于 2020-10-8 18:30
这啥原理?视频里演示的时候也没加为啥能正常读取啊?

这也不是原理,这是规定……
?链接发一下?

疾风怪盗 发表于 2020-10-8 18:32:26

久远的心宿三 发表于 2020-10-8 18:30
这啥意思?视频里完全没教啊。。

{:10_284:}百度一下编码看看呗

https://fishc.com.cn/thread-66084-1-1.html
https://fishc.com.cn/forum.php?mod=viewthread&tid=66086&highlight=%B1%E0%C2%EB
这是小甲鱼的

久远的心宿三 发表于 2020-10-8 18:34:50

weiter 发表于 2020-10-8 18:31
这也不是原理,这是规定……
?链接发一下?

不是,r我知道啥意思了,但我用双斜杠\\不是一样的嘛?

weiter 发表于 2020-10-8 18:36:17

久远的心宿三 发表于 2020-10-8 18:34
不是,r我知道啥意思了,但我用双斜杠\\不是一样的嘛?

对呀(我加密的那个回帖就是这么说的呀)

weiter 发表于 2020-10-8 18:36:51

好的我自我禁言

久远的心宿三 发表于 2020-10-8 18:38:23

weiter 发表于 2020-10-8 18:36
对呀(我加密的那个回帖就是这么说的呀)

我的操作最开始也加了双斜杠啊,但还是报错。。应该和r或者双斜杠没关系。。

久远的心宿三 发表于 2020-10-8 18:40:28

疾风怪盗 发表于 2020-10-8 18:32
百度一下编码看看呗

https://fishc.com.cn/thread-66084-1-1.html


那为啥小甲鱼的视频演示的也是纯汉字txt文本,没有其他操作,但能顺利读取呢?

weiter 发表于 2020-10-8 18:43:36

那就根据@疾风怪盗 大佬的说法操作一下吧……(我这里不存在这个问题)
报错里面提到了gbk,是一种编码格式

疾风怪盗 发表于 2020-10-8 18:43:48

久远的心宿三 发表于 2020-10-8 18:40
那为啥小甲鱼的视频演示的也是纯汉字txt文本,没有其他操作,但能顺利读取呢?

编码能顺利解析,就没问题啊,如果有问题就指定编码,大概就是这么理解吧

久远的心宿三 发表于 2020-10-8 18:47:09

疾风怪盗 发表于 2020-10-8 18:43
编码能顺利解析,就没问题啊,如果有问题就指定编码,大概就是这么理解吧

encoding='utf-8' 这个是加到哪里啊?我试试

疾风怪盗 发表于 2020-10-8 18:47:40

久远的心宿三 发表于 2020-10-8 18:47
encoding='utf-8' 这个是加到哪里啊?我试试

这个是open()函数的参数啊。。。。。。

久远的心宿三 发表于 2020-10-8 18:55:18

疾风怪盗 发表于 2020-10-8 18:47
这个是open()函数的参数啊。。。。。。

open()不是只有俩参数吗?第一个参数文件名,第二个参数是打开模式。。还有其他的参数吗?

疾风怪盗 发表于 2020-10-8 18:56:47

久远的心宿三 发表于 2020-10-8 18:55
open()不是只有俩参数吗?第一个参数文件名,第二个参数是打开模式。。还有其他的参数吗?

http://c.biancheng.net/view/2544.html

open() 函数用于创建或打开指定文件,该函数的常用语法格式如下:
file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])

此格式中,用 [] 括起来的部分为可选参数,即可以使用也可以省略。其中,各个参数所代表的含义如下:
file:表示要创建的文件对象。
file_name:要创建或打开文件的文件名称,该名称要用引号(单引号或双引号都可以)括起来。需要注意的是,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可;否则,此参数需要指定打开文件所在的完整路径。
mode:可选参数,用于指定文件的打开模式。可选的打开模式如表 1 所示。如果不写,则默认以只读(r)模式打开文件。
buffering:可选参数,用于指定对文件做读写操作时,是否使用缓冲区(本节后续会详细介绍)。
encoding:手动设定打开文件时所使用的编码格式,不同平台的 ecoding 参数值也不同,以 Windows 为例,其默认为 cp936(实际上就是 GBK 编码)。

久远的心宿三 发表于 2020-10-8 19:01:33

疾风怪盗 发表于 2020-10-8 18:56
http://c.biancheng.net/view/2544.html

open() 函数用于创建或打开指定文件,该函数的常用语法格式如 ...

感谢大哥的解答,小甲鱼视频讲的好简略啊,自己还要看看其他资料。。
页: [1] 2
查看完整版本: 大佬们,为啥这个txt文件读取不了?