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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值