文件操作

Posted dpsy921

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。

3.11 文件操作

1.  文件基本操作

  obj = open(‘路径‘,mode=‘模式‘,encoding=‘编码‘)
  obj.write() # 写入
  obj.read()   # 读取
  obj.close() #关闭

2.  打开模式

    • r / w / a 【只读只写字符串】 *

    • r+ / w+ / a+ 【可读可写字符串】

    • rb / wb / ab 【只读只写二进制】 *

    • r+b / w+b / a+b 【可读可写二进制】

3.  操作

    • read() , 全部读到内存

    • read(1)

      • 1表示一个字符

        obj = open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘)
        data = obj.read(1) # 1个字符
        obj.close()
        print(data)
      • 1表示一个字节

        obj = open(‘a.txt‘,mode=‘rb‘)
        data = obj.read(3) # 1个字节
        obj.close()
    • write(字符串)

      obj = open(‘a.txt‘,mode=‘w‘,encoding=‘utf-8‘)
      obj.write(‘中午你‘)
      obj.close()
    • write(二进制)

      obj = open(‘a.txt‘,mode=‘wb‘)
      ?
      # obj.write(‘中午你‘.encode(‘utf-8‘))
      v = ‘中午你‘.encode(‘utf-8‘)
      obj.write(v)
      ?
      obj.close()
    • seek(光标字节位置),无论模式是否带b,都是按照字节进行处理。

      obj = open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘)
      obj.seek(3) # 跳转到指定字节位置
      data = obj.read()
      obj.close()
      ?
      print(data)
      ?
      obj = open(‘a.txt‘,mode=‘rb‘)
      obj.seek(3) # 跳转到指定字节位置
      data = obj.read()
      obj.close()
      ?
      print(data)
    • tell(), 获取光标当前所在的字节位置

      obj = open(‘a.txt‘,mode=‘rb‘)
      # obj.seek(3) # 跳转到指定字节位置
      obj.read()
      data = obj.tell()
      print(data)
      obj.close()
    • flush,强制将内存中的数据写入到硬盘

      v = open(‘a.txt‘,mode=‘a‘,encoding=‘utf-8‘)
      while True:
        val = input(‘请输入:‘)
        v.write(val)
        v.flush()
      ?
      v.close()

4.  关闭文件

  文艺青年

    v = open(‘a.txt‘,mode=‘a‘,encoding=‘utf-8‘)
?
    v.close()

  傻子

  with open(‘a.txt‘,mode=‘a‘,encoding=‘utf-8‘) as v:
     data = v.read()
   # 缩进中的代码执行完毕后,自动关闭文件

 

5. 文件内容的修改

  1. 示例

    技术图片
    with open(a.txt,mode=r,encoding=utf-8) as f1:
        data = f1.read()
    new_data = data.replace(飞洒,666)
    ?
    with open(a.txt,mode=w,encoding=utf-8) as f1:
        data = f1.write(new_data)
    View Code

     

  2. 大文件修改

    技术图片
    # 方式一
    f1 = open(a.txt,mode=r,encoding=utf-8)
    f2 = open(b.txt,mode=w,encoding=utf-8)
    ?
    for line in f1:
        new_line = line.replace(阿斯,死啊)
        f2.write(new_line)
    f1.close()
    f2.close()
    ?
    # 方式二
    with open(a.txt,mode=r,encoding=utf-8) as f1, open(c.txt,mode=w,encoding=utf-8) as f2:
        for line in f1:
            new_line = line.replace(阿斯, 死啊)
            f2.write(new_line)
    View Code

     

以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章

python 文件操作python 文件操作

文件读写操作

文件操作

文件操作

Python文件操作

python文件操作