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

    参考博文

  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/10341968.html
Copyright © 2011-2022 走看看