您的位置:首页 > 编程语言 > Python开发

python读写文件with open的介绍

2021-11-27 04:06 501 查看
目录
  • 二、案例二(写入)
  • 简介:

    使用python的过程中肯定少不了读取文件的操作,传统的形式是使用 直接打开、然后在操作、然后再关闭,这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭;

    一、案例一(读取)

    首先创建一个我们要读写的txt文件

    txt内容如下:

    z天赐复习文件读写

    博客园地址:https://www.cnblogs.com/ztcbug/

    1、读取文件 基本实现

    f = open('test001.txt','r',encoding='utf-8')  #open 是打开的意思,()中是要打开的文件路径 'r'是只读的方式打开,打开后赋值给f,如果读取文件有中文,encoding = utf-8是编码格式
    
    print(f.read())   #read是读取的意思,f,read() 是读取f里的所有数据,然后print输出出来
    
    f.close()      #读取后,然后再把打开的f 给关闭,close()是关闭的意思,切记一定要关闭

    返回结果如下:

    z天赐复习文件读写

    博客园地址:https://www.cnblogs.com/ztcbug/

    这样的缺点是如果我们在关闭文件前出现了程序报错,那么打开后的文件就没有进行关闭

    2、读取文件 中级实现

    try:       #首先try一下,如果程序打开以及在打开后读取一系列操作后有报错,则不中断程序
    
    f = open('test001.txt','r',encoding='utf-8')
    
    file = f.read()
    
    print(file)
    
    finally:         #无论try中的程序是否存在报错,则都执行下面的关闭
    
    if f:          #判断下f是否打开了,如果没打开则不需要关闭,打开了则关闭
    
    f.close()

    返回结果如下:

    z天赐复习文件读写

    博客园地址:https://www.cnblogs.com/ztcbug/

    可以看到这次对基本实现进行了优化,无论是否报错,我们都对打开后的文件进行了关闭

    3、读取文件 终极实现

    上面那种虽然好,但是代码太不简洁了,我们可以用with open的方式来写

    with open('test001.txt','r',encoding='utf-8') as f:
    
    file = f.read()
    
    print(file)

    返回结果如下:

    z天赐复习文件读写

    博客园地址:https://www.cnblogs.com/ztcbug/

    二、案例二(写入)

    1、、写入文件 基本实现

    还是用咱们刚才那个文件,刚才那个文件里的内容是 :

    z天赐复习文件读写

    博客园地址:https://www.cnblogs.com/ztcbug/

    此时我们重新给这个文件 写入数据:

    f = open('test001.txt','w',encoding='utf-8') #open 打开要写入的文件,'w'就是写入的意思,如果有中文encoding进行编码
    
    f.write('今天北京的天气非常好!!!!') #write是写入的意思,将()中的内容写入到f文件里
    
    f.close()     #写入完进行关闭

    然后此时我们去看看 test001.txt  这个文件中的内容

    写入成功!

    2、写入文件终极实现

    with open('test001.txt','w',encoding='utf-8') as f: #使用with方法
    
    f.write('今天去吃个黄焖鸡米饭!!!!')  # 直接写入

    然后此时我们去看看 test001.txt  这个文件中的内容

    到此这篇关于 python读写文件with open的介绍的文章就介绍到这了,更多相关 python读写文件with open内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息