• 总结day7 ---- 文件操作,读,写,追加,以及相关方法


    内容大纲

      一:文件的基本操作,

        >常见问题

        >encoding

        >绝对路径和相对路径的

      二:文件的读写追加相关操作

        >读(r, r+ ,rb,r+b)

        >写(w,w+,wb,w+b)

        >追加(a,a+,ab,a+b)

      三:文件相关的操作方法

      四:文件的常规修改方式

    一:文件的基本操作,

        >常见问题

          >>1 文件路径错误,比如 把需要的内容转意了 比如a '

           解决方法,在字符串前面增加r  

    # with open('f:a.txt','r',encoding='utf-8') as f:
    #     f.read()
    # OSError: [Errno 22] Invalid argument: 'f:x07.txt'
    # with open(r'f:a.txt','r',encoding='utf-8') as f:
    #     f.read()

        >encoding

          encoding的作用只是强调,

        >绝对路径和相对路径的

          >>1 绝对路径:指的是具体到哪个文件夹的文件

          >>2 相对路径:指的是当前操作的文件夹的目录地址

      二:文件的读写追加相关操作

        >读(r, r+ ,rb,r+b)

          >r  读, read()  返回str    # read(  字符) 1 代表一个字符.2 带表两个字符

             readline()  返回str

             readlines()  返回list

             for 变量 i 句柄 :   返回str    如果文件很大需要使用for 循环,这样不会造成内容消耗

     1 # 4  读  (r ,rb ,r+ r+b)
     2 # with open('1.txt','r',encoding='utf-8') as f:
     3 #     contect =f.read()
     4 #     print(contect)
     5 # with open('1.txt','r',encoding='utf-8') as f:
     6 #     contect =f.read()
     7 #     print(contect)
     8 # with open('f:/msg.jpg','rb') as f:
     9 #     contect =f.read()
    10 #     print(contect)
    11 #读写, 需要先读在写,如果先写在读的情况下需要,调整光标的位置
    12 # 利用seek() 调整光标位置. (0)代表开头  (0,2)代表结尾
    13 # with open('1.txt','r+',encoding='utf-8') as f :
    14 #     f.write('汉子')
    15 #
    16 #     l =f.read()
    17 #     print(l)

        >写(w,w+,wb,w+b)

        write()

          

        >追加(a,a+,ab,a+b)

        如果有源文件,那么就在文件后面追加内容, 如果没有内容那么就新创建文件

    #5 追加模式 a # 本身的内容不删除,只是在最后增加
    #如果没有这个文件夹,那么则创建文件,有的话则追加内容
    # with open('1.txt','a',encoding='utf-8') as f:
    #     f.write('这是追加的内容')

      三:文件相关的操作方法

    # readable  判断这个文件是否可以读
    # writable 判断这个文件是不是可写
    # flush 强制保存, 相当于Ctrl+s
    # tell 返回光标位置
    # seek 调整光标位置 有两个参数 ,第一参数是光标位置,第二个1 中间 (0,2)是末尾
    # truncate 截断内容. 打印截断之前的内容, 按照字节截断 只能在写的模式下进行 进行,'w' 下没有意义

      四:文件的常规修改方式

     

    # 5把新文件名字修改成旧文件
    import os
    with open('1.txt','r',encoding='utf-8') as f1 ,open('1bak.txt','a',encoding='utf-8') as f2:
        old_contect =f1.read()
        new_contect =old_contect.replace('a','好吃')
        f2.write(new_contect)
    os.remove('1.txt')
    os.rename('1bak.txt','1.txt')
    

    用for 循环可以 可降低内存消耗.



    with open(
    '1.txt','r',encoding='utf-8') as f1 ,open('1bak.txt','a',encoding='utf-8') as f2: # old_contect =f1.read() # new_contect =old_contect.replace('a','好吃') # f2.write(new_contect) # for line in f1: # new_line = line.replace('好吃','呵呵') # f2.write(new_line) # os.remove('1.txt') # os.rename('1bak.txt','1.txt')

     

     

  • 相关阅读:
    Officer Anany Collecting String Subsequences(ECPC2019)
    P3530 [POI2012]FESFestival
    L3011 直捣黄龙 (天梯赛)
    树与图上的计数专题
    P4657 [CEOI2017]Chase
    Steadily Growing Steam
    图论复习
    Tree Infection(CF)
    推导部分和(蓝桥杯)
    Baby Ehab's Whining Chance
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/10185451.html
Copyright © 2020-2023  润新知