本章内容
- 文件内光标的移动
- 文件数据修改
- 函数简介
- 函数的语法结构
文件内光标的移动
with open(r'1.txt','r',encoding='utf8') as f:
print(f.read(3))
print(f.read(3))
"""
如下图所示:
绿色的箭头表示第一个print输出后光标所在的位置
红色的箭头表示第二个print输出后光标所在的位置
"""
eg:
with open(r'1.txt', 'rb') as f:
print(f.read(9).decode('utf8'))
print(f.read(3).decode('utf8'))
with open(r'1.txt', 'r',encoding='utf8') as f:
print(f.read(2))
f.seek(3, 0)
print(f.read(2))
"""记得文本文件用b模式的时候要注意文本内容的末尾是否有空格和空行,不然可能查找不到"""

"""
seek方法可以控制光标的移动 在文本模式下移动的单位也是字节数
模板: seek(offset,whence)
offset (控制偏移的字节数)
whence (控制模式(0, 1, 2))
0: 相对于文件开头(让光标先移动到文件开头)
支持文本模式和二进制模式
1:相对于当前位置(让光标先停留在当前位置)
只支持二进制模式
2:相对于文件结尾(让光标先移动到文件末尾)
只支持二进制模式
"""
实际应用
with open('access.log', mode='rb') as f:
f.seek(0, 2)
while True:
line = f.readline()
if len(line) == 0:
pass
else:
print(line.decode('utf-8'), end='')
文件数据修改
"""
文件数据在硬盘上其实是刻死 不可能从中间再添加新的内容
只能将老内容移除 刻新的
"""
文件修改方式一:
eg:
with open('a.txt', mode='rt', encoding='utf-8') as f:
data = f.read()
with open('a.txt', mode='wt', encoding='utf-8') as f:
f.write(data.replace('张一蛋', 'SB'))
文件修改方式二:
函数简介
函数的使用必须遵循’先定义,后调用’的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。
没有事先定义函数而直接调用,就相当于在引用一个不存在的’变量名’。
函数的语法结构
def 函数名(参数1,参数二...):
'''文档描述'''
函数体代码
return 返回值
注意事项
"""
定义函数需要使用def关键字
定义函数的过程不会执行函数体代码 只会检测语法
def s(x, y):
if 语法错误定义的时候就会报错
def s():
abcdef哈哈哈 定义的时候不会报错
调用函数需要使用函数名加括号
"""
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人