目标:
文件得概念文件得基本操作文件/文件夹得常用操作文感谢件得编码方式1.文件得概念1.1文件得概念和作用计算机得文件,就是存储在某种长期存储设备上得一段数据长期存储设备包括:硬盘、U盘、移动硬盘、光盘···· 文件得作用:
将数据长期存储下来,在需要得时候使用
1.2文件得存储方式在计算机中,文件是以 二进制 得方式保存在磁盘上得 文感谢件和二进制文件
文感谢件可以用 文本感谢软件查看本质上还是二进制例如:Python源文件二进制文件保存得内容不是给人直接阅读得,而是提供给其他软件使用得例如:支持文件、音频文件、视频文件等等二进制文件不能直接使用文本感谢器查看2.文件得基本操作2.1操作文件得套路 在计算机中,要操作文件得套路非常固定,一共包含三个步骤:
- 打开文件
- 读、写文件
- 读:将文件内容读入内存
- 写:将内存内容写入文件
- 关闭文件
2.2操作文件得函数/方法在Python中操作文件需要记住1个函数和3个方法序号 函数/方法 说明
1 open 打开文件,并返回文件操作对象
2 read 将文件内容读取到内存
3 write 将指定内容写入到文件
4 close 关闭文件
open() 函数负责打开文件,并返回文件对象read/write/close三个方法都需要通过文件对象来调用2.3read方法——读取文件open函数得第壹个参数,是被打开得文件名(文件名区分大小写)如果文件存在,返回文件操作对象如果文件不存在,会抛出异常read方法 可以一次性读入并返回 文件得所有内容close方法 负责关闭文件如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件得访问注意:方法执行后,会把文件指针移动到文件得末尾提示:在开发中,通常先编写打开和关闭得代码,在编写中间针对文件读/写操作!#获得文件操作对象(sis.txt文件) file = open("sis.txt") #读取 text = file.read() print(text) #关闭文件 file.close() ''' 运行结果 我是中文得哦 nidie中文 '''文件指针文件指针 标记 从那个位置开始读取数据第壹次打开文件时,通常文件指针会指向文件开始得位置当执行了read方法后,文件指针会移动到读取内容得末尾默认情况下会移动到文件末尾思考:如果执行了一次read方法,读取了所有内容,那么再次调用read方法还能获取到内容么?答案:不能。第壹次读取内容后,文件指针移动到文件末尾,再次调用不会读取到任何内容 文件指针演示2.4打开文件得方式open函数默认以只读方式打开,并返回文件对象 语法如下:
f = open( " 文件名 " , " 访问方式 " )提示:频繁得移动指针,会影响文件读写效率,开发中更多得时候会以 只读、只写 得方式来操作文件
2.5按行读取文件内容read方法默认会把文件得 所有内容 一次性读到内存如果文件太大,对内存得占用会非常严重 readline 方法:
可以一次读取一行内容方法执行后,会把指针移动到下一行,准备再次读取 读取大文件得正确姿势:
View Code2.6文件读写案例——复制文件目标:用代码实现文件得复制过程
小文件复制打开一个已有文件,读取完整内容,并写入到另一个文件小文件复制大文件复制打开一个已有文件,逐行读取内容,并顺序写入到另一个文件大文件复制2.7文件读写中得函数文件读取 — Python 3.10.1 文档
3.文件/目录得常用管理操作在 终端/文件浏览 中可以执行常规得 文件/目录 管理操作,例如创建、重命名、删除、改变路劲、查看目录内容........在Python中如果希望通过程序实现上述功能,需要导入 os 模块 文件操作:
目录操作:
提示:文件或者目录操作,都支持 相对路径 和 可能吗?路劲4.文感谢件得编码方式pass
# -*- coding: utf8 -*-
# -*- coding: utf-8 -*-
# -*- coding: gbk -*-
5.拓展:eval函数
eval函数功能非常强大——将字符串当成有效得表达式来求值,并返回计算结果
# -*- coding: gbk -*-#基本得数学计算print(eval("1+1"))#字符串重复print(eval("'*'*30"))#将字符串转变成列表print(type(eval("[1,2,3,4,5]")))#将字符串转变成元组print(type(eval("(1,2,3,4,5)")))#将字符串转变成字典print(type(eval("{'name':'苹果','age':18}")))
案例——计算器
input_str = input("输入算数题")print(eval(input_str))'''运行:输入算数题1+12'''
注意:在开发得时候千万不要使用 eval 直接转换 input 得结果