zoukankan      html  css  js  c++  java
  • python读写文件with open

    简介

    使用python的过程中肯定少不了读取文件的操作,

    传统的形式是使用 直接打开、然后在操作、然后再关闭,

    这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭;

    案例一(读取)

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

    txt内容如下:

    z天赐复习文件读写
    博客园地址:https://www.cnblogs.com/ztcbug/

    一、读取文件 基本实现

    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/

     

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

    二、读取文件 中级实现

    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/

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

    三、读取文件 终极实现

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

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


    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    返回结果如下

    z天赐复习文件读写
    博客园地址:https://www.cnblogs.com/ztcbug/

    案例二(写入)

    一、写入文件 基本实现

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

    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  这个文件中的内容

    写入成功

    一、写入文件终极实现

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

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

     
  • 相关阅读:
    介绍一个成功的 Git 分支模型 Release 分支
    启动安卓模拟器报错 emulator: ERROR: x86_64 emulation currently requires hardware acceleration! CPU acceleration status:HAXM must be updated(version 1.1.1<6.0.1) 解决办法
    AceyOffice教程复制行
    AceyOffice教程设置单元格边框
    Excel生成报表之解决方案合并单元格的用法
    AceyOffice教程报表之解决方案(二)
    Excel生成报表之解决方案插入图片
    AceyOffice教程复制列
    Excel基础知识(一)
    AceyOffice教程报表之解决方案(一)
  • 原文地址:https://www.cnblogs.com/ztcbug/p/15584263.html
Copyright © 2011-2022 走看看