open函数的常用方法以及出现问题的可能原因

目录​​​​​​​

open()函数格式:open('文件的路径','权限')例如:open('E:/aa.txt','r')

1、只读模式r

2、写入覆盖模式w

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

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


open()函数
格式: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的话无法查看

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

 当我不清空文件,在执行一次代码,猜猜会是什么结果?

 猜到了没?

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
open()函数Python内置的用于打开文件的函数。它接受一个文件路径作为参数,并返回一个文件对象。 使用open()函数的一般语法如下: ``` file_object = open(file_path, mode) ``` 其中,`file_path`是文件的路径,可以是相对路径或绝对路径。`mode`是可选参数,用于指定文件打开的模式,默认为'r'(只读模式)。 open()函数支持以下常用的文件打开模式: - 'r': 只读模式(默认)。文件指针位于文件的开头,如果文件不存在抛出FileNotFoundError异常。 - 'w': 写入模式。如果文件存在,则清空文件内容;如果文件不存在,则创建新文件。 - 'a': 追加模式。文件指针位于文件末尾,如果文件不存在则创建新文件。 - 'x': 创建模式。创建新文件,如果文件已存在则抛出FileExistsError异常。 - 'b': 二进制模式。与上述模式结合使用,用于处理二进制文件。 - 't': 文本模式(默认)。与上述模式结合使用,用于处理文本文件。 例如,要以只读模式打开名为"example.txt"的文本文件并读取内容,可以使用以下代码: ``` file = open("example.txt", "r") content = file.read() print(content) file.close() ``` 需要注意的是,打开文件后要记得关闭文件对象,以释放系统资源。可以使用`close()`方法来关闭文件。 除了使用`open()`和`close()`方法,还有其他一些文件对象的方法可以用于读取或写入文件内容,如`readline()`、`readlines()`、`write()`等。可以根据具体需求选择适合的方法来操作文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值