zoukankan      html  css  js  c++  java
  • day08 跟着太白老师学python 文件操作

    文件操作初识:

             1. 文件路径 :d:/护士主妇空姐联系方式  (文件路径不要太过复杂,容易碰到转义字符的问题, 当碰到转义字符时,需要在前面+r,或者采用双斜杠(//))

             2. 编码方式 :utf-8, gbk, gb2312

             3.操作方式: 只读(r),只写(w), 写读(r+), 读写(w+), 追加(a), 追加读(a+)

    1. 读 

    r     只读模式,适合文字类文件, open的默认方式

    rb   非文字类文件的只读方式

    r+  读写功能,先读后写时,写入的字符在文件最后,直接写入,由于光标在开头,将会将开头的字符覆盖

    只读的后续操作方式有5种 

    f = open('d:/老男孩.txt', encode='utf-8', mode='r')
    1.f.read()  所有都能够一次性读取,保留原来格式

    2.f.read(n)  读取部分,对于文本,n以字符串个数表示, 对于非文本, n以字节个数表示,对于utf-8,一个字符用三个字节表示

    3.f.readlines() 读取所有文本,读取的文本以字节形式储存在列表中

    4.f.readline() 只读取一行
    5.for循环读取  for line in f:  print(line)     

    2. 写

    w  只写模式, 适合文字类文件的写入, 文件不存在,创建文件, 文件存在时,清空文件,并写入

    wb    非文字类文件的写入

    w+ 读写模式,因为在打开文件时,文件内容就被清空,如果此时进行读的话,读出来的是空白,所以这种方法没什么用

    3.追加

    a  追加模式, 适合文字类文件的追加, 文件不存在,创建文件, 文件存在时,就追加在文件的末尾

    ab  非文字类文件的追加,通常在图片,用于bytes类型

    a+ 追加读    和 w+ 读效果是一样的

    4.文件操作的其他方法

    read()  (上面已经提过)

    write()  

    close() 关闭文件

    seek()  ......设置标志位 seek(0, 2) 将标志位放到文件的末尾  以字节进行计算

    tell()      返回文件的当前标志位  字节计算

    readable()    判断是否可读

    writeable()    判断是否可写

    trucante()     进行截取, 读取的方式必须是可写方式,因此我们需要使用a+,或者 r+,不能使用w模式,因为一打开文件就被清除了

     

    5.小练习:

        1. 图片的复制

    #文件复制 #非文字文件类型的编码方式是字节类型
    f = open('美女1.jpg', mode='rb')  
    f1 = open('美女3.jpg', mode='wb')
    content = f.read()
    f1.write(content)
    f.close()
    f1.close()

         2. 文本文件的修改

    import os
    with open('文件操作3', encoding='utf-8', mode='r') as f, 
            open('新文件操作3', encoding='utf-8', mode='w') as f1:
        for line in f:
            line = line.replace('南方', '北方') #字符替换
            f1.write(line)
    
    os.remove('文件操作3') #删除原文件
    os.rename('新文件操作3', '文件操作3') #命名新文件为原文件

     

     

     

             

  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/9469121.html
Copyright © 2011-2022 走看看