1.一个科研菜鸡的救赎之路2.markdown编辑器使用3.Python变量内存管理4.变量与常量5.编程语言分类6.计算机基础极简7.字典类型8.列表类型9.字符串类型10.数字类型11.数据类型12.注释13.花式赋值(两种快捷赋值方法)14.变量的三个特征15.第五节 4文件操作的三种基础模式16.第五节 3绝对路径和相对路径
17.第五节 2基本的文件操作
18.第五节 字符编码19.集合类型内置方法20.5字典类型内置方法21.4元组类型内置方法22.3列表类型内置方法23.2字符串类型内置方法24.1数字类型内置方法25.流程控制之while循环26.流程控制之if判断27.基本运算符 28.格式化输出29.解包30.布尔类型一、什么是文件?
文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位。文件的操作是基于文件,即文件的操作核心就是:读和写。也
就是只要我们想要操作文件就是对操作系统发起请求,然后由操作系统将用户或应用程序对文件的读写操作转换成集体的硬盘指令(比如控制盘片转动,控制机械手臂移动,以此来读取数据)。
二、为什么要有文件?
内存无法永久保存数据,但凡我们想要永久保存数据都需要把文件保存到硬盘中,而操作文件就可以实现对硬件的操作。
三、如何用文件?
现在我们有一个需求需要把用户输入的账号密码存储到硬盘中,我们使用Python该如何操作呢?
highlighter- Bash
name = 'nick'
pwd = '123'
3.1 从硬盘中读取数据
如果我们需要打开一个文件,需要向操作系统发起请求,要求操作系统打开文件,占用操作系统资源。Python中使用open()方法可以打开某个具体的文件,open()方法内写入文件路径。
highlighter- Bash
open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt')
如果给列表增加值,我们需要给列表赋值后才能给对应的列表增加值。文件也是如此。
highlighter- Go
lis = [1,2,3]
lis.append(4)
lis.append(5)
highlighter- Bash
# 打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt')
print(f)
highlighter- HTML
<_io.TextIOWrapper name='/Users/mac/desktop/jupyter/pythonCourseware/32.txt' mode='r' encoding='UTF-8'>
打开文件之后,文件不仅占用了内存,他还对应了操作系统打开的以文件,相当于使用文本编辑器打开了一个文件。并且我们说了我们操控文件只是为了读和写,因此打开文件并不是目的,读和写才是目的,接下来我们尝试如何读写文件。
highlighter- Bash
# read模式打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r')
# 读取文件内容,向操作系统发起读请求,会被操作系统转成具体的硬盘操作,将内容由硬盘读入内存
data = f.read()
print(data)
# 由于Python的垃圾回收机制只回收引用计数为0的变量,但是打开文件还占用操作系统的资源,所以我们需要回收操作系统的资源资源
# del f 只是回收变量f
f.close()
highlighter- Bash
name = 'nick'
pwd = '123'
3.2 写入数据
highlighter- Bash
# write模式打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='w')
f.write("""name = 'nick'
pwd = '123'""")
f.close()
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r')
data = f.read()
print(data)
highlighter- Bash
name = 'nick'
pwd = '123'
四、总结
打开文件总而言之分为三步:
- 打开文件
- 读写
- 关闭
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统