已解决Python读取文件报错:io.UnsupportedOperation: not readable亲测有效
文章目录
- 报错问题
- 报错翻译
- 报错原因
- 解决方法
- 联系博主免费帮忙解决报错
报错问题
一个小伙伴遇到问题跑来私信我,想用Python读取文件,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下所示:
if order =='j':
try:
join_server_json = 'data//new_server.json'
with open(join_server_json,'w') as join:
join_server_information = json.load(join)
except FileNotFoundError:
print("You don't have a server.Please create one.")
报错信息内容如下所示:
Traceback (most recent call last):
File "d:\…\join_server.py", line 77, in <module>
join_server_information = json.load(join)
^^^^^^^^^^^^^^^
File "C:\…\Programs\Python\Python311\Lib\json\__init__.py", line 293, in load
return loads(fp.read(),
^^^^^^^^^
io.UnsupportedOperation: not readable
报错翻译
报错信息翻译如下所示:
io.不支持的操作:不可读
报错原因
报错原因:
可以看到这个粉丝打开一个文件,用的w
写权限,然后调用json.load(join)
去读,所以导致报错了。
小伙伴按下面的方法解决即可!!!
解决方法
一、你是用open打开一个文件,此时调用的是w
写入模式,下面使用read是没有权限的,你得使用w+
读写模式或者r
读模式
with open(join_server_json,'w+') as join:
join_server_information = json.load(join)
二、使用write写入一个字符s,但是此时并没有真正的写入,而是还存在与内存中。此时执行read读取的为空字符。需要执行a.close()以后,再使用a=open(“D://2.txt”)
a.read()才能够读取到数据。
以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,博主看到会给出回复和你所遇到的报错问题解决方法!!!
联系博主免费帮忙解决报错
本文已收录于:《告别Bug专栏》,欢迎免费订阅!!!
本专栏用于记录学习和工作中遇到的各种疑难编程Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中遇到的等等问题,博主心愿:让天下没有难学的编程,从此告别Bug!!!
订阅专栏 + 关注博主后,扫描下方二维码进全栈学习互助交流群可以帮忙解决问题,并且可以免费领取300本IT电子书籍、学习资料、简历模板、面试题库,和小伙伴们交流学习、抱团取暖,共同进步!!!