zoukankan      html  css  js  c++  java
  • 文件处理流程

    文件处理流程

    • 打开文件,获得文件句柄并赋值给一个变量(open函数会自动检索该系统将数据存入硬盘的编码方式(gbk),所以默认是以bgk的方式解码,而python3存数据是以utf-8编码方式)
    • 通过文件句柄进行操作
    • 关闭文件

    文件操作模式

    • 只读模式
    1 f = open('test', encoding='utf-8')  # 默认为只读模式
    2 data = f.read()  #读取文件的全部内容
    3 print(data)
    4 print(f.readable())  # True # 判断文件是否可读
    5 print(f.readline()) # 读取文件的一行内容
    
    6 print(f.readlines())  # ['我
    ', '你
    ', '他']
    7 f.close()
    View Code
    • 只写模式
    1 # 会先将对应文件内容清空,然后写入自己设定的内容,如果文件名不存在,会先新建对应文件名的空文件
    2 f = open('test', 'w', encoding='utf-8') #只写模式
    3 print(f.writable()) #True
    4 f.write('123')
    5 f.write('456')   #多个write会写在同一行,即默认没有换行功能
    6 f.writelines(['abc
    ', 'def
    '])  #将要写的多行内容放在一个列表中
    View Code
    • 追加模式
    1 f = open('test', 'a', encoding='utf-8')
    2 f.write('追加的方式ad')
    3 f.close()
    View Code
    • +模式
    1 f = open('test', 'r+', encoding='utf-8')
    2 f.write('520')
    View Code
    • b模式
     1 #b模式:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
     2 f = open('test', 'rb')
     3 data = f.read()
     4 print(data)
     5 print(data.decode())
     6 f.close()
     7 
     8 f = open('test', 'wb')
     9 f.write(bytes('陈媛媛', encoding='utf-8'))
    10 f.close()
    11 
    12 f = open('test', 'ab')
    13 f.write('好美呀'.encode('utf-8'))
    14 f.close()
    View Code

    小例子:

    读取文件1的内容,稍作修改后写入到文件2中
    • 方法1
    1 f_old = open('test', encoding='utf-8')
    2 data = f_old.readlines()
    3 f_old.close()
    4 
    5 f_new = open('test2', 'w', encoding='utf-8')
    6 f_new.writelines(data[0].replace('520', ''))
    7 f_new.close()
    View Code
    •  方法2
    1 #文件操作的另外一种方式with-as,这种方式的好处在于不用写close操作
    2 with open('test', encoding='utf-8')as f_old,
    3         open('test2', 'w', encoding='utf-8') as f_new:
    4     data = f_old.read()
    5     f_new.write(data)
    View Code

    参考博文

  • 相关阅读:
    maven 查看依赖jar包,或获取版版本号 、license
    windows 强制关掉端口
    项目经理是如何选择的?
    windows 10 多系统引导下安装debian linux 系统 引导文件
    在 Mac 环境下 emulator 模拟器不能上网 Android Studio AVD
    WordPress
    使用blob对H5视频播放进行加密
    算法——动态规划
    算法——贪婪算法
    算法——权重最短路径算法
  • 原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/10341968.html
Copyright © 2011-2022 走看看