io.UnsupportedOperation: not read()able python编程中老是这情况,是因为这个代码中有两处错误:
1、你是用open打开一个文件,此时调用的是w写入模式,下面使用read是没有权限的。
2、使用write写入一个字符s,但是此时并没有真正的写入,而是还存在与内存中。此时执行read读取的为空字符。需要先执行a.close()关闭文件,再使用a=open("D://2.txt"),最后再用a.read()打开文件读入。
修改后的代码:
扩展资料:
这个参数的具体说明如下:
1、name : 一个包含了你要访问的文件名称的字符串值。
2、mode : mode 决定了打开文件的模式:只读,写入,追加等。
3、buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。
这个错误是说你的文件不能被正常读取。
代码中有两处错误:
1、你是用open打开一个文件,此时调用的是w写入模式,下面使用read是没有权限的,需要使用w+读写模式。
2、使用write写入一个字符s,但是此时并没有真正的写入,而是还存在与内存中。此时执行read读取的为空字符。需要先执行a.close()关闭文件,再使用a=open("D://2.txt"),最后再用a.read()打开文件读入。
修改后的代码:
扩展资料:
python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
函数语法:open(name[, mode[, buffering]])
参数说明:
1、name : 一个包含了你要访问的文件名称的字符串值。
2、mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
3、buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
本回答被网友采纳