码迷,mamicode.com
首页 > 其他好文 > 详细

05-文件处理

时间:2020-03-13 20:21:08      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:odi   作文件   读写   操作   color   技术   数据   计算机硬件   不能   

引入

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、打开文件

1.1 open()传参

# windows路径分隔符问题
# 因为分隔符“\”在python中代表转义符,为确保能正确读出路径
# 我们可采取以下两种策略

例子:
open(C:\a.txt\nb\c\d.txt)
# 解决方案一:推荐
open(rC:\a.txt\nb\c\d.txt)
# 解决方案二:
open(C:/a.txt/nb/c/d.txt)

 1.2 open()的返回值

 

f=open(raaa/a.txt,mode=rt,encoding="utf-8") # f的值是一种变量,占用的是应用程序的内存空间
print(f)                                        # <_io.TextIOWrapper name=‘aaa/a.txt‘ mode=‘rt‘ encoding=‘utf-8‘>
x=int(10)                                       # f的存储于x的存储类似
打开文件,由应用程序向操作系统发起系统调用open(...),操作系统打开该文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量f

技术图片

 

 

 2、操作文件

读/写文件,应用程序对文件的读写请求都是在向操作系统发送
# 系统调用,然后由操作系统控制硬盘把输入读入内存、或者写入硬盘
res=f.read()
print(type(res))
print(res)
3、关闭文件
因为若不关闭文件,操作系统会一直维持文件打开状态占用内存。
若一直不关闭会有以下问题:
1、操作系统可开文件数量有限,开太多无用文件会导致现有程序无法再打开更多文件。
2、虽然有机制,一定时间内检测文件长期不活跃,则关闭,但是仍占用内存资源。
f.close()                   # 回收操作系统资源
print(f)                    # <_io.TextIOWrapper name=‘aaa/a.txt‘ mode=‘rt‘ encoding=‘utf-8‘>
f.read()                    # ValueError: I/O operation on closed file.
                            # 变量f存在,但是不能再读了
del f                       # 回收应用程序资源

 

05-文件处理

标签:odi   作文件   读写   操作   color   技术   数据   计算机硬件   不能   

原文地址:https://www.cnblogs.com/zhubincheng/p/12488647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!