python中open()函数的那些事

遇到的问题1

问题描述

  在学习python语言时,看b站董付国董老师的视频时。有行代码,f=open('test.txt',a+),这个代码报错了,怎么也打开不了文件。我以为后面a+这个参数些写错了,然后我就百度了一下在这个函数的参数。

解决的方法

fd = open('文件名(路径)’, mode=‘模式’)
//r(只读),r+(读写),w(只写), w+(读写), a(追加),a+(追加读)

  这个哥们写的特别详细,大家可以看看。

python open()函数打开文件的模式详解https://www.cnblogs.com/hanweiblog/p/9385644.htmlicon-default.png?t=L892https://www.cnblogs.com/hanweiblog/p/9385644.html

  好的我觉得应该加行代码将文件中的内容读取出来。

fd = open('C:\Users\swing\Desktop\test.txt', mode='r') 
print(fd.read())

遇到的问题2

问题描述

  我运行了一下代码,可是它报错了,嘤嘤嘤~~~~

fd = open('C:\Users\swing\Desktop\test.txt', mode='r') 
                                               ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

  好的问题是在python语言中斜杠表示转义字符,我们的目的是将它的含义变成文件的存储路径。

解决方法

 又是百度了一下,有个哥们说加点东西就行,三种选择任君挑选。SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: trhttps://blog.youkuaiyun.com/xd060606/article/details/87164798icon-default.png?t=L892https://blog.youkuaiyun.com/xd060606/article/details/87164798

fd = open(r'C:\Users\swing\Desktop\test.txt', mode='r') 
//在存储路径前面加r,表示字符串的原始值
print(fd.read())

遇到的问题3

问题描述

UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 8: incomplete multibyte sequence

  好的可能是文字的转码有点问题,毕竟我存的是中文。

解决方法

  依旧是一顿百度啊!!!!UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequencehttps://blog.youkuaiyun.com/lqzdreamer/article/details/76549256icon-default.png?t=L892https://blog.youkuaiyun.com/lqzdreamer/article/details/76549256

那就按照那个大哥说的加个b吧。

fd = open(r'C:\Users\swing\Desktop\test.txt', mode='rb') 
print(fd.read())

但是输出的是啥呀,不是中文呀!!!!继续改!!!!

b'\xe5\x97\xb7\xe5\x97\xb7\xe5\x97\xb7'

fd = open(r'C:\Users\swing\Desktop\test.txt', mode='rb') 
print(fd.read().decode('utf-8','ignore'))
//中文得用utf-8,英文我没试过,大家可以试试。

好了这回终于能输出来我想要的内容了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值