• 七、文件处理


    文件操作(IO操作)
      文件操作和远程网络都可以统称为:IO操作。
    文本文件和二进制文件
           文本文件存储的是普通字符,python是默认unicode码,可以用记事本打开,二进制文件是字节存储,无法用记事本打开,用其他软件打开。

    创建文件对象open()
           f=open(r"da.txt","r"),这里要注意,在打开文件对象以后,要进行f对象的关闭 ,close(),不仅仅是关闭文件对象,此关闭也关闭了操作系统打开的硬盘,释放了操作系统 打开硬盘的这部分资源。
    乱码:
            windows操作系统默认编码是ASCII码,linux默认是utf-8,python程序进行编码是unicode,open方式打开一个文件,在windows下,操作系统存入磁盘是以ASCII码的方式存入的,但是打开,因为是python进行的编码,所以打开,默认是utf-8(unicode的共识形式)的形式,就会产生乱码 。核心:乱码就是编码和解码不一致导致的。

    close()关闭文件流

          由于文件底层是由操作系统控制的,所以在调用close()方法的时候,首先会把缓冲 区数据写入文件,或者直接手动写下flush()方法,在关闭文件。

    with语句(上下文管理器)
         with关键字(上下文管理器)可以自动管理文件资源,不论什么原因跳出with块, 都确保文件的正常关闭,并且可以在代码执行完毕后,还原进入该代码的现场。

    文本文件的读取:
        1)read(size):读取字符个数
        2)readline():一行行读取
        enumerate()函数生成列表内的元组序列,可以进行行的分层。
        seek(偏移量) 0表示从文件头开始计算、1表示从当前位置开始计算、2从文件尾部开始 计算,其他数字表示真正的偏移量。

    使用pickle序列化
          Python一切皆对象,本质就是"存储数据的内存块",将这些内存的数据按照一定顺序存在磁盘中(网络中其他机器),就叫做序列化,反之变成内存对象就是反序列化。
    序列化:
          pickle.dump(obj,file)
    反序列化:
         pickle.load(file)生成新的对象,和序列化之前的对象是不同的对象

    csv文件的操作

         csv是逗号分隔符文本格式,常常用于数据交换、excel文件和数据库数据的导入导出 。csv.reader()进行读操作;csv.writer()进行写操作

    os和os.path模块

         os模块可以帮忙我们直接对操作系统进行操作。
         os.system可以直接调用系统的命令
         os.startfile可以调用可执行文件

    os.path 模块提供了目录相关的操作
    os.walk()递归变量所有文件和目录
    shutil模块(拷贝和压缩),对于os模块的一个补充
    zipfile模块,也可以进行压缩,解压

  • 相关阅读:
    配置struts2拦截器
    <global-results>标签来定义全局的<result>
    StringUtils.isEmpty和StringUtils.isBlank用法
    Tomcat xxx unbound
    getRequestDispatcher()和response.sendRedirect()
    转 intValue()的用法
    jspf与jsp的区别
    table标签中thead、tbody、tfoot的作用
    hibernate的cascade
    hibernate 持久化对象的三个状态
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12245669.html
Copyright © 2020-2023  润新知