open读取d盘文件哪些 *** 作不能使用

open读取d盘文件哪些 *** 作不能使用,第1张

格式:open('文件的路径','权限')

例如:open('E:/aa.txt','r')

1、只读模式r

平时可能会出现使用open读取不到文件内容的情况,请注意下图中移动光标的 *** 作

o=open('E:/aa.txt','r')#打开一个文件,将哪乱这个 *** 作赋予给一个变量

a=o.read() #读取文件的所有内容并返回字符串

o.seek(0,0)#将光标移动到开头,如果不将光标移动到开头可能会读取不出东西,

因为上一步“a=o.read()”将鼠标的指针移动到了文段的末尾

b=o.readline() #读取文件第一行内容

o.seek(0,0)#将光标移动到开头,因为上一步“b=o.readline()”将指针移动到了

文段知喊第一行的末尾

c=o.readlines()#读取文件所有内容并返回字符串

d=o.readable() #判断文件是否可读,返回布尔值,返回True或者False

2、写入覆盖模式w

注意,如果在文件路径中没有对应的文件存在,python在执行写入 *** 作时会自动创建一个文件,

例如我下面的文件路径,如果没aa.txt这个文件的话,那么我在执行这段程序时就会自动创建一个

o=open('E:/aa.txt','w')

o.write('hello ')#将文件中的内容覆盖掉,并写入括号中的内容,write传入的是一个字符串

o=open('E:/aa.txt','w')

o.writelines('HELLO') #将文件中的内容覆盖掉并写入括号中的内容

在txt文件中看起来感觉跟write没啥区别,其实writelines传入的是一个数组,而write传入的是字符串

3、写入追加模式a和a+

可能会出现出现“io.UnsupportedOperation: not readable”这种错误,请注意下图的文件权限

o=open('E:/aa.txt','a')

o.write('lol好玩')#写入追加在内容后

o.writelines('\n\n999') #写入追加在内容后,\n是换行,两个\n意思换两行

a=o.writable()#判断文件是否可写入追加,并将判断出来的布尔值赋值给变量a

o.seek(0,0) #将光标移动到最开头

print(a) #输出变量a,查看文件是否可以追加

print(o.read()) #读取文件内容返回列表,前提权限给的是a+,如果是a的话无法查看

并且会报错,如下图所示

这里是a+的用法以及示例

o=open('E:/aa.txt','a+')

o.write('nb') #写入追加在文件的内容后面

o.writelines('\n999') #写入追加在内容后面,\n是换行

a=o.writable()#判断文件是否可写入追加,并将判断出来的布李猛档尔值赋值给变量a

o.seek(0,0) #将光标移动到最开头

print(a) #输出变量a,查看文件是否可以追加

print(o.read()) #读取文件内容返回列表,前提权限给的是a+,如果是a的话无法查看

当文件中为空时,执行以上代码结果应该如下

是的旁亩。

open是读写文件的第一步,通过open读写文件的方式和把大象装冰箱是一样的

f = open("test.txt",'w')#第一步,把冰箱门(文件)打开

f.write("this is content") #第二步,闹枝把大象(文件内容)装进去

f.close() #第三步,把冰箱门关上,否则大运弯森象可能会跑掉

我们之前使用open方法读取文件

细心的朋友应该注意到,我们用open()打开文件以后,后面会跟着一个f.close()方法用来关闭文件,但是每次这么写,会很麻烦碰举慧。

所以,我们接下来介绍一下with open()的用法

调用read()方法,会一次性读取全部文件内容,当文件内容较小时比较试用,但是当文件内容过大,很容易导致运行内存100%,所以我们可以反复调用read(size)来设置每次读取的字节内容。

写入文件内容时:

我们写入文件内容时,系统并不会立刻就把所有数据写入到磁盘,它是先放到内存中缓存,等到空闲的时候再慢慢写入到磁盘。

当调用close()方法时,系统才能保证把剩余没有写入的数据全部写入到磁盘。假如我们忘记调用了close()方法,那很可能导致我们的数据遗失。

为了保证万无一失,最好是笑答使用with open()进行内容的读写。

try...finally

我在之前的文答凳章里面讲过try...finally,finally里面的内容是不管是否发生异常都会被执行。

所以,对于open()方法我们有另一种写法:

但是呢,这种方法相比with open()实在是太麻烦了,所以我们只是简单说一下,并不建议大家去使用这个方法。

多个文件的读写方式

with open()和open()读写文件的方法是通用的,没有区别


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12288420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存