day11:01文件处理

一、文件与文件模式介绍

1、什么是文件

文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口
用户/应用程序(open())
操作系统(文件)
计算机硬件(硬盘)

2、为何要用文件

①用户/应用程序可以通过文件将数据永久保存的硬盘中,即操作文件就是操作硬盘;

②用户/应用程序直接操作的是文件,对文件进行的所有的操作,都是在向操作系统发送系统调用,然后再由操作将其转换成具体的硬盘操作;

3、如何用文件:open()

控制文件读写内容的模式:t和b
强调:t和b不能单独使用,必须跟r/w/a连用

t文本(默认的模式)

1、读写都以str(unicode)为单位的
2、文本文件
3、必须指定encoding=‘utf-8’

b二进制/bytes

控制文件读写操作的模式
r只读模式
w只写模式
a只追加写模式
+:r+、w+、a+

二、文件操作基本

1、打开文件

windows路径分隔符问题
open(‘C:\a.txt\nb\c\d.txt’)

解决方案一:推荐
open(r’C:\a.txt\nb\c\d.txt’)

解决方案二:
open(‘C:/a.txt/nb/c/d.txt’)

注: f的值是一种变量,占用的是应用程序的内存空间

f=open(r'aaa/a.txt',mode='rt') 
print(f)
x=int(10)

2、操作文件

读/写文件,应用程序对文件的读写请求都是在向操作系统发送系统调用,然后由操作系统控制硬盘把输入读入内存、或者写入硬盘

res=f.read()
print(type(res))
print(res)

3、关闭文件

f.close() # 回收操作系统资源,这是操作系统的东西,关闭了刚打开的文件,但python关闭不到,所以不可省略
print(f)
f.read() # 变量f存在,但是不能再读了,因为操作系统已经将文件f.close()关闭了

#del f     # 回收应用程序资源,在python3中不需要这一步,因为Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过“分代回收”(generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。

4、with上下文管理

文件对象又称为文件句柄
句柄,理解为手柄,手柄控制游戏任务,所以类比,句柄操控操作系统

with open('a.txt',mode='rt') as f1: # f1=open('a.txt',mode='rt')
    res=f1.read()
    print(res)


with open('a.txt',mode='rt') as f1,\       # 这里注意:一行代码太长,使用‘\’进行分割换行,回车
        open('b.txt',mode='rt') as f2:
    res1=f1.read()
    res2=f2.read()
    print(res1)
    print(res2)

    # f1.close()   with 语法已经将f1/f2关闭,这两步可以省略
    # f2.close()

相关推荐

  1. day11:01文件处理

    2024-07-11 22:44:01       26 阅读
  2. Python学习DAY14_文档处理_Excel

    2024-07-11 22:44:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 22:44:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 22:44:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 22:44:01       62 阅读
  4. Python语言-面向对象

    2024-07-11 22:44:01       72 阅读

热门阅读

  1. C语言 会员卡计费系统

    2024-07-11 22:44:01       18 阅读
  2. RKNN3588——利用推理YOLOv8推理图片

    2024-07-11 22:44:01       18 阅读
  3. 如何使用thinkPHP3.2.* 版本开发

    2024-07-11 22:44:01       23 阅读
  4. EasyPOI与Apache POI

    2024-07-11 22:44:01       23 阅读
  5. Go 垃圾回收(GC)

    2024-07-11 22:44:01       24 阅读
  6. ccf认证 202312-3

    2024-07-11 22:44:01       24 阅读
  7. hid-ft260驱动学习笔记 5 - ft260_i2c_probe

    2024-07-11 22:44:01       23 阅读
  8. 使用Ultralytics YOLO进行模型验证

    2024-07-11 22:44:01       26 阅读