文件操作

文件操作

一、文件读写增其他操作

  1. 文件操作三部曲:

    1. 打开文件。

    2. 对文件句柄进行相应的操作。

    3. 关闭文件。

      f1 = open(r'D:\PYTHON\python22\day08\美眉.txt',encoding='utf-8',mode='r')
      content = f1.read()
      f1.close()
      
  2. 文件的读

    • 要制定编码和mode='r'
  3. 文件的写

    • 如果文件存在,先清空原文件内容,在写入新内容

    • 读写图片

      #不指定编码模式,因为读时不用解码,直接byte类型的。
      f=open('美女.jpg',mode='rb')
      content=f.read()
      f.close()
      f1 = open('美女2.jpg',mode='wb')
      f1.write(content)
      f1.close()
      
  4. 文件的追加

    • 没有创建文件,有则追加
    f = open('文件的追加',encoding='utf-8',mode='a')
    f.write('大壮,舒淇,b哥,雪飞')
    f.close()
    
  5. 文件的读写(r+)

    • 要先读后写,如果先写,中英文导致字符不完整,读时报错或出现乱码。核心是光标问题
  6. 光标问题

    f.tell()#获取光标位置,字节为单位
    f.seek(6)#移动到第6个字节
    f.flush()#强制冲刷
    
  7. 另一种打开方式重要

    • 优点:不用手动关闭文件句柄
    with open('文件的读',encoding='utf-8') as f1:
    	print(f1.read())
    	
    	
    with open('文件的读', encoding='utf-8') as f1,\
    open('文件的写', encoding='utf-8', mode='w')as f2:
    print(f1.read())
    f2.write('hfdsjkghkajhsdjg')
    
  8. 文件句柄是迭代器

    with open('alex自述',encoding='utf-8') as f1,\
        open('alex自述.bak',encoding='utf-8',mode='w') as f2:
    # 3,将原文件的内容读出来修改成新内容,写入新文件。
        for line in f1:
            # 第一次循环 SB是老男孩python发起人,创建人。
            new_line = line.replace('alex', 'SB')
            f2.write(new_line)
    os.remove('alex自述')
    os.rename('alex自述.bak','alex自述')
    
  9. 有关清空的问题

    • 以下循环不会关闭文件的
    # 关闭文件句柄,再次以w模式打开此文件时,才会清空。
    with open('文件的写', encoding='utf-8',mode='w') as f1:
        for i in range(9):
            f1.write('恢复贷款首付款')
    
    
posted @ 2020-03-19 19:25  意大利面  阅读(116)  评论(0)    收藏  举报