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的话无法查看

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

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

mode参数是用来指定open 打开文件的模式, 比如只读,读写,二进制格式打开等等

执行后 打开同目录下生成的test.text文件,可以看到内容: open 和 file用法1

执行后 打开同目录下生成的test.text文件,会在原有内容的基础上新增一行: open 和 file用法2

\n 不会以字符串 写入到文件中, 而是被当做换行符 处理

Linux中open与fopen区别如下:

1、来源

从来源的角度看,两者能很好地区分开,这也是最显而易见的区别:

①open是Unix系统调用函数,返回的是文件描述符,它是文件在文件描述符表里的索引

②fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api。返回的是一个指向文件结构的指针。

2、移植性

这一点从上面的来源可以推断出来,fopen是C标准函数,因此拥有良好的移植性,而open是Unix系统调用,移植性有限。如Windows下相似的功能使用API函数CreateFile。

3、适用范围

①open返回文件描述符,而文件描述符是Unix系统下的一个重要概念,Unix下的一切设备都是以文件的形式 *** 作。如网络套接字、硬件设备等。当然包括 *** 作普通正规文件。

②fopen是用来 *** 纵普通正规文件。

4、文件IO层次

如果从文件IO的角度来看,前者属于低级IO函数,后者属于高级IO函数。低级和高级的简单区分标准是:谁离系统内核更近。低级文件IO运行在内核态,高级文件IO运行在用户态。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存