python学习之路:十.文件的基本操作
一.操作模式
1. 文本模式 r => rt w => wt a => at ''' 注意事项: 1. 文件中的内容全部都是以字符串为单位 2. 写入的内容只能是字符串 3. 必须指定encoding参数 ''' 2. 二进制模式 # 这里的b就不能省略了, b代表是二进制模式,执行所有的数据类型 rb wb ab ''' 注意事项: 1. 文件中的内容都以字节(bytes)为单位 2. 写入的内容必须是二进制 3. 一定不能指定encoding参数 '''
二.二进制的读写
# with open('a.txt', 'rb') as f: # print(f.read(6).decode('utf8')) with open('a.txt', 'r',encoding='utf8') as f: print(f.read(5)) ''' 1. 一个英文一个字节 2. 一个中文字符三个字节 3. f.read(n) 在t模式下,n代表的是字符的个事 在b模式下,n代表的是字节个数 '''
三.文件中控制光标的移动
with open('a.txt', 'rb') as f: print(f.read(3)) # print(f.tell()) # 查询光标移动的位置 f.seek(-3, 2) print(f.read().decode('utf8')) ''' f.seek() offset 偏移的位置量 whence 模式控制 0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的 1:以当前所在的位置为参照的 2:以文件末尾的位置为参照的 强调:其中0模式可以在t或者b模式使用,而1跟2模式只能在b模式下用 '''
四.修改文件内容
# 1. 读取文件内容 with open('a.txt', 'r', encoding='utf8') as f: data = f.read() print(data) # 2. 把新数据写入文件 with open('a.txt', 'w', encoding='utf8') as f: # f.seek(3, 0) # f.write('<妇女主任>') new_data = data.replace('山东', '妇女主任') f.write(new_data)
五.函数前戏,语法结构
def my_len(): n = 0 for i in l: n += 1 print(n) print(my_len()) # None ''' 1. 我们现在写的代码都是重复的 模仿len实现 2. 我们现在写的代码兼容性很差 3. 我们现在写的代码没有返回值(一块代码执行完之后给我的反馈结果) 函数的简介: 提前准备好的工具,什么时候使用,就给相应的结果 '''
六.语法结构
def my_len(): ''' 注释 :return: ''' print('我是函数') return 123 # my_len() print(my_len()) ''' 语法结构: 1. def(关键字必须的) 用来定义函数的,函数要想使用必须先定义def 2. 函数名(必须的) 函数名的命名遵循变量名的命名就可以了,见名知意 3. 注释 (不是必须的) 类似于说明书,对函数功能的描述,简介... 4. 函数体(必须的) 执行代码的核心逻辑 5. return返回值(不是必须的) 执行完函数之后,返回的结果 6. 参数(不是必须的) 就是执行函数之前的一些前提 '''
七.函数的定义和调用
################################################################################ 注意事项: 1. 函数必须先定义,在调用 2. 函数在定义阶段,值检测语法是否正确 3. 函数在定义阶段,不会执行函数体代码 4. 函数只能有一个return,函数一旦遇到return,函数立马结束 ################################################################################ 函数的底层原理: ''' 1. 先在内存中申请一块空间存储函数体 2. 把函数体所在的内存地址绑定给函数名 3. 使用函数名加括号调用函数,来执行函数 '''
八.函数的分类
1. 内置的函数 提前在python解释器中提前定义好的,可以拿来直接使用 2. 自定义函数 程序员自己写的函数 1. 无参函数 2. 有参函数 3. 空函数(pass ...) # 无参函数 def my_func(): print('我是无参函数') # 调用函数 my_func() # 有参函数 def my_func1(a,b,c,d) print('我是有参函数') my_func1(1,2,3,4) # 空函数 def my_func2(): pass ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY