zoukankan      html  css  js  c++  java
  • 文件的三种打开方式及with管理文件上下文

    文件的三种打开方式及with管理文件上下文

    一、文件的三种打开方式

    1.1 只读

    f = open(r'D:pycharmyjy上海python学习456.txt','r',encoding='utf8')
    data = f.read()  #读取文件
    print(data)
    f.close()
    

    读的其他语法

    print(1,f.readline())  # 逐行读
    print(f.readable())  # 是否可读  # True
    

    ps:如果我们需要读文件里面的每一行代码,我们可以用for循环,举个栗子

    for i in f:
        print(i)
    f.close
    

    1.2 只写

    f = open(r'D:pycharmyjy上海python学习456.txt','w',encoding='utf8')   #清空原来的文件后,重新写入
    f.write('yanjiayi')
    f.close()
    

    写的其他语法

    print(f.writable())  #可写 True
    f.writelines(['sdklfj','sdkfjksldf'])   #会将列表拼为字符串写出来
    

    1.3 追加

    f = open(r'D:pycharmyjy上海python学习456.txt','a',encoding='utf8')  #不会删除原来的文件,在后面直接写入
    f.write('meilidexiaokeai')
    f.close()
    

    二、with管理上下文

    2.1 文本模式

    2.1.1 文本模式(t)

    f = open('test.py','rt')
    data = f.read()
    print(data)
    

    2.1.2进制模式(b)

    fw = open('test.png','wb')  # encoding是为了让二进制代码变成文本所需要的,所以b模式不需要encoding
    fw.write(img)
    

    2.2 with……open……as

    with……open……as相对于open好的一点就是可以自动关闭文件

    with open('test.py', 'rt', encoding='utf8') as fr1
    data1 = fr1.read()
    print('data1', data1)   #不需要f.close
    
    with open('test.py', 'rt', encoding='utf8') as fr2, 
            open('test.txt', 'rt', encoding='utf8') as fr1, 
            open('test.png', 'rb') as fr3:
         # 可以多个文件一起打开,只需要一个with就好,但是每个文件前面都需要加open,也要写as!“”表示他们爱一行,只是写不下了才用“”这个标识分开写的,“”他只是要告诉python解释器这是个特殊意义的符号。
        data1 = fr1.read()
        print('data1', data1)
        data2 = fr2.read()
        print('data2', data2)
        data3 = fr3.read()
        print('data3', data3)
    
  • 相关阅读:
    Qt学习之路1---软件下载安装及工程简介
    c++之五谷杂粮---3
    c++之五谷杂粮---2
    隐式类型转换
    运算时的数据类型提升
    c++之五谷杂粮---1
    RSYNC--数据迁移、备份
    microsoft .netframework Available Source Code Components
    查看一个文件系统所在的卷组方法
    IE7/8浏览器都不能显示PNG格式图片
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11316193.html
Copyright © 2011-2022 走看看