当前位置: 首页 > news >正文

python - 文件操作

1. 概念

  1. 计算机内存通常分为两种类型:主存储器和辅助存储器。

    主存储器是计算机中最重要的存储器类型之一。它是计算机中用于存储正在运行的程序和数据的存储器。主存储器通常是易失性的,这意味着当计算机关闭时,其中存储的数据将被删除。主存储器通常是随机访问存储器(RAM)的形式,这意味着计算机可以随时访问存储器中的任何位置。辅助存储器是计算机中的另一种存储器类型。它通常是非易失性的,这意味着即使计算机关闭,其中存储的数据也不会丢失。辅助存储器通常用于存储大量的数据和程序,例如操作系统,应用程序和文件。常见的辅助存储器设备包括硬盘驱动器,固态硬盘,光盘和USB闪存驱动器。

  2. 数据持久化

    数据持久化是指将数据保存在磁盘或其他非易失性存储介质中,以便在计算机关闭或程序终止时仍然可以访问该数据。这与将数据保存在内存中不同,因为内存通常是易失性的,这意味着当计算机关闭或程序终止时,其中存储的数据将被删除。

    在编程中,数据持久化通常是通过将数据写入文件或数据库来实现的。文件是一种简单的数据持久化方法,可以将数据保存在文本文件或二进制文件中。数据库是一种更复杂的数据持久化方法,可以将数据保存在结构化的表中,并提供高级查询和数据管理功能。

    在Python中,您可以使用内置的pickle模块将Python对象序列化为字节流,并将其写入文件以进行持久化。您还可以使用第三方库,例如SQLAlchemy和Django ORM,将Python对象映射到关系数据库中。

    1. 常见的数据持久化:数据库,Excel文件,csv文件,txt文件 ,json文件,plist文件

2. 文件操作

文件操作需要以下几步:

  1. 打开文件
  2. 读取或写入文件
  3. 关闭文件

在Python中,可以使用open()函数打开文件,使用read()write()方法读取或写入文件,使用close()方法关闭文件。

以下是一个简单的例子:

with open('path/to/file', 'r') as f:content = f.read()# do something with content
'''
在这个例子中,我们使用with语句打开文件,这样可以确保文件在使用完毕后被正确关闭。open()函数的第一个参数是文件路径,第二个参数是打开文件的模式,'r'表示读取模式,'w'表示写入模式,'a'表示追加模式。
'''
  1. open(路径,文件打开方式,encoding=文本文件编码方式)

    # 找不到会报错
    open(/Users/shangjianweidemacbook/Desktop/)
    
    1. 绝对路径和相对路径

      相对路径中的.表示当前目录,..表示上一级目录。

      例如,假设当前工作目录是/home/user,那./file.txt表示/home/user/file.txt../file.txt表示/home/file.txt

      # 绝对路径
      open(/Users/shangjianweidemacbook/Desktop/)
      # 相对路径
      open(../Desktop/)
      
    2. 打开方式

      • r 只读模式,打开文件后只能读取文件内容,不能修改文件内容。

      • w 写入模式,打开文件后可以写入文件内容,如果文件不存在则创建文件,如果文件已存在则清空文件内容。

      • a 追加模式,打开文件后可以在文件末尾追加内容,如果文件不存在则创建文件。

      • x 独占模式,打开文件时如果文件已存在则抛出异常,如果文件不存在则创建文件。

      • b 二进制模式,打开文件时以二进制模式读取或写入文件内容。

      • t 字符串模式,独到的数据和写入文件的数据必须是字符串(如果不赋值默认为t)

      # 以只读模式打开文件
      with open('path/to/file.txt', 'r') as f:content = f.read()print(content)# 以写入模式打开文件
      with open('path/to/file.txt', 'w') as f:f.write('Hello, world!')# 以追加模式打开文件
      with open('path/to/file.txt', 'a') as f:f.write('Hello, world again!')
    3. 文本文件编码方式

      在Python中,可以使用open(encoding = 'utf-8')函数打开文件时指定文件的编码方式。

      1. 常见的文本文件编码方式

        • utf-8
        • gbk
      2. 不同的文本文件编码方式在保存同一个符号的编码值的时候采用的字节数不同、

      3. 原则是存进去的时候用的什么编码方式,读的时候就用什么编码方式

        • 在Python中,可以使用chardet模块来检测文件的编码方式。chardet模块可以自动检测文件的编码方式,并返回一个包含编码方式和可信度的字典。
        • 以下是一个简单的例子:
        import chardet# 检测文件的编码方式
        with open('path/to/file', 'rb') as f:content = f.read()result = chardet.detect(content)# 打印检测结果
        print(result['encoding'], result['confidence'])
  2. 文件读操作 文件对象.read 从读写位置开始到文件结束

    读操作会改变光标位置

    with open('path/to/file.txt', 'r') as f:content = f.read()
    # 将读写位置移动到开头
    f.seek(0)
    # 读一行
    f.readline()
    
  3. 文件写操作文件对象.write

  4. 关闭文件文件对象.close

    文件关闭之后就不能再操作文件

http://www.lryc.cn/news/42258.html

相关文章:

  • docker打包golang应用
  • redis 内容总结
  • 贪心算法(一)
  • 【栈和队列OJ题】有效的括号用队列实现栈用栈实现队列设计循环队列
  • kuernetes 资源对象分析报错
  • 动态内存的开辟
  • 【蓝桥杯-筑基篇】搜索
  • week5-质数-最大公约数-快速幂-组合计数-博弈论
  • CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)
  • 2023值得推荐的高颜值Vue3.0 Web PC端UI框架,赶紧收藏学习!
  • Springboot项目Aop、拦截器、过滤器横向对比
  • 为了之后找工作不被虐,每天刷3道《剑指offer》Day-1
  • Linux-磁盘管理介绍
  • 爬虫架构(一):爬虫中的去重处理
  • 算法刷题总结 (二) 回溯与深广搜算法
  • Linux 总结9个最危险的命令,一定要牢记在心!
  • spring cloud
  • 【9】核心易中期刊推荐——图像视觉与图形可视化
  • 0108Bean销毁-Bean生命周期详解-spring
  • 微信小程序可以进行dom操作吗?
  • 昇腾AI深耕沽上:港口辐射力之后,天津再添基础创新辐射力
  • 基于YOLOv5的疲劳驾驶检测系统(Python+清新界面+数据集)
  • 【Linux】-- 进程优先级和环境变量
  • iOS 紧急通知
  • 即时零售:不可逆的进化
  • 零售数据总结经验:找好关键分析指标和维度
  • 从零开始搭建游戏服务器 第一节 创建一个简单的服务器架构
  • C++中那些你不知道的未定义行为
  • java基础面试题(四)
  • @PropertySource使用场景