久久久久成人免费看a含羞草久色_91福利资源站_好色综合网_久久久久国产精品一区二区三区_一级片免费看_久久久久国产精品久久久久

订阅本栏目 RSS您所在的位置: 深山工作室 > python > 正文

总结一下with open()和open()的区别与使用方法

2022/9/14 15:23:30 字体: 浏览 1238

使用例子:
with open('app.txt', 'w', encoding="utf-8") as file:
    file.write(ls_cont)



1.用途:是python用来打开本地文件的,他会在使用完毕后,自动关闭文件,无需手动书写close()

2.用法:
with open (file = "你要打开的路径名(或保存内容的地址)",mode = "r/w/a",encoding = "utf-8") as f1:
        data = f1.read/write()
        print(data)

3.关于mde的三种模式:
    r:只读  用read()
    w:只写 用write()            //会清除之前写的内容
    a:追加内容 用write()        //会在已经写的内容基础上增加新的内容


open与with open区别
open()完成后必须调用close()方法关闭文件,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的,由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。with open()则可以避免这样的情况。


由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。
所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现:

def readFile():
    try:
        f =open('C:\\Users\\a\\Desktop\\测试文件 test.txt','r')
        try:
            data = f.read()
            print(data)
        except:
            print('error occurs while reading file')
        finally:
            f.close()
    except:
        print('rror occurs while reading file')

if __name__ == '__main__':
    readFile()
这样的操作太麻烦了,可以通过with open语法来代替:

def read_file():
    try:
       with open('C:\\Users\\a\\Desktop\\测试文件 test.txt','r') as f:
           data = f.read()
           print(data)
    except:
        print('error occurs while reading file')

if __name__ == '__main__':
    read_file()
执行结果与上例相同。这和前面的try … finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法,文件读写完成后,会自动帮我们调用 close 方法。


-------------------- 分割线 ---------------------
其它扩展阅读:
代码

#文件的读操作
with open('input_filename.txt','r') as f:#r为标识符,表示只读
   df=pd.read_csv(f) 
   print(f.read())
'''
其他标识符:
r: 以只读方式打开文件。
rb: 以二进制格式打开一个文件用于只读。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。
'''
#文件的写操作
with open('output_filename.csv', 'w') as f:
   f.write('hello world') 
'''
其他标识符:
w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
''' 4

方法和属性

f.read([size])   #将文件数据作为字符串返回,可选参数size控制读取的字节数
f.readlines([size])   #返回文件中行内容的列表,size参数可选
f.write(str)   #将字符串写入文件
f.writelines(strings)   #将字符串序列写入文件
f.close()   #关闭文件

f.closed #返回布尔值,文件已经被关闭为True,否则为False
f.mode #Access文件打开时使用的访问模式
f.encoding #文件所使用的编码
f.name #文件名
f.newlines #未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
f.softspace #为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

注意

要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数
读取时调用read()将一次性读取文件的全部内容,如果文件有10G,内存就爆了,保险起见可反复调用read(size)方法,每次最多读取size个字节的内容。
调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
根据需要调用:如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便

相关阅读
广西南宁美程国际旅行社有限公司
ASP.NET中文乱码问题的解决。
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
CSS教程:CSS伪类属性
关于字体在CSS中处理效果的思考
绝对管用的iis安装包下载
仙美境健身馆网站
[转载]中国行政区划数据(省市区街道)
共有0条关于《总结一下with open()和open()的区别与使用方法》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
8种Python字符串拼接的方法,你知道几种
更多>>最新添加文章
dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
抖音直播音挂载小雪花 懂车帝小程序
javascript获取浏览器指纹可以用来做投票
火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
更多>>随机抽取信息
uni-app判断当前客户端是安卓还是ios还是其它平台
css 里面的图片定位position高级应用
地瓜坊
经典实用的触发型导航菜单
css解决中英混合链接下划线不对齐问题
针对table,div隔行变色的JS方法
主站蜘蛛池模板: 久久免视频| 最近中文字幕完先锋资源 | 日韩一区二区三区视频在线观看 | 亚洲国产一区在线观看 | 最近中文字幕视频在线资源 | 一区二区三区四区在线不卡高清 | 亚洲最大免费视频网 | 国产精品资源手机在线播放 | 丰满妇女毛茸茸刮毛 | 第九色区av天堂 | 高潮又爽又无遮挡又免费 | 日本一级做人免费视频 | a毛片免费 | 久草在| 日本一级淫片a免费播放 | 三级在线观看免播放网站 | 久久婷婷人人澡人人爱91 | 国产国产成人人免费影院 | 日韩免费视频播播 | 少妇的肉体k8经典 | 久久精品爱国产免费久久 | 青青青看免费视频在线 | 免费黄色a级片 | 欧美精品成人a多人在线观看 | 成年人视频在线观看免费 | 波多野结衣50连登视频 | 国产高潮视频在线观看 | 色婷婷狠狠久久综合五月 | 91天堂素人| 国产在线激情视频 | 日韩乱码人妻无码中文字幕久久 | 久久无码精品一区二区三区 | 日韩亚洲欧美性感视频影片免费看 | 成在线人免费视频一区二区 | 国产v亚洲v欧美v精品综合 | 国产在线19禁免费观看国产 | 欧美成人精品第一区二区三区 | 久久精品片 | 2019国产精品青青草原 | 妞干网免费视频观看 | 男女做爰猛烈叫床视频真实 |