文件处理

Posted lujiachengdelu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理相关的知识,希望对你有一定的参考价值。

1.什么是文件

文件是操作系统提供给用户/应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间

2.为何要处理文件

用户/应用程序直接操作文件(读/写)就被操作系统转换成具体的硬盘操作,从而实现用户/应用程序将内存中的数据永久保存到硬盘中

3.如何用文件处理

文件处理的三个步骤

f =open(r"c.txt",mode="r",encoding="utf-8") #文件对象(应用程序的内存资源)----->操作系统打开的文件(操作系统的资源)

print(f)

data=f.read()

f.close()  #向操作系统发送信号,让操作系统关闭打开的文件,从而回收操作系统的资源

 

#上下文管理

with open(r"c.txt",mode="r",encoding="utf-8")as f:

open(r"r.txt",mode="r",encoding="utf-8")as f1:

读写文件的操作

操作系统可自动关闭文件,从而回收系统的资源

#文件的打开模式:r(默认模式) w a

#操作文件的内容的模式

t(默认的):操作文件内容都是以字符串为 单位,会自动帮我们解码必须指定encoding参数

b:操作文件内容都是Bytes(二进制)为单位,硬盘中存的是什么就取出什么,一定不能指定encoding参数

总结:t模式只能用于文本文件,而b模式可以用于任意文件

r模式:只读模式,在文件不存在时则报错,如果文件存在文件指针跳到文件的开头

with open(r"c.txt‘‘,mode="rt",encoding="utf-8")as f:

print(f.read())

print(f.readable())

print(f.writable())

f.write("hello")#只能读

# data=f.read()
# print(data,type(data))

# with open(r‘c.txt‘,mode=‘rb‘) as f:
# data=f.read()
# # print(data,type(data))
# res=data.decode(‘utf-8‘)
# print(res)


# with open(r‘c.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
# # line=f.readline()
# # print(line,end=‘‘)
# # line1=f.readline()
# # print(line1,end=‘‘)
# # line2 = f.readline()
# # print(line2,end=‘‘)
#
# lines=f.readlines()
# print(lines)
# with open(r‘c.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
# line=f.readline()
# print(line,end=‘‘)


# 循环读文件内容的方法:
# with open(r‘c.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f:
# for line in f:
# print(line,end=‘‘)

 

以上是关于文件处理的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

处理屏幕旋转上的片段重复(带有示例代码)

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

你如何在 python 中处理 graphql 查询和片段?

如何有效地打开 30gb 的文件并处理其中的片段而不减慢速度?

是否有在单个活动中处理多个片段的 Android 设计模式?