python学习Day14
2022/7/2 1:24:05
本文主要是介绍python学习Day14,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Day 14
今日内容概要
- 文件内光标的移动
- 文件数据修改
- 函数简单介绍
今日内容详细
1.文件内光标的移动
补充知识: 1.在文本模式下read(2) 2代表读取几个字符 with open(r'a.txt','r',encoding='utf8')as f: data = f.read(2) print(data) 2.在二进制模式下read(3) 3代表读取几个字节 '英文1字节 中文3字节' with open(r'a.txt','rb')as f: data = f.read(3)#打印data会出现2进制的字节 print(data.decode('utf8'))#用utf8解码二进制字节 #当文本中都是中文,把读取的字节解码时不是3的倍数时会报错 3.tell()获取光标目前移动了的字节数#不是字符数 with open(r'a.txt','r',encoding='utf8')as f: data = f.read(3)#当全是汉字文件时,读取3个字符 print(data)#张三说 print(f.tell())#9 因为1个汉字是3字符
#代码控制光标移动 seek(offset,whence) offset:控制光标移动的位移量(字节) whence:移动的模式 0 基于文件开头移动多少字节 1 基于光标当前所在位置移动多少字节 2 基于文件末尾移动多少字节 'ps:1和2只能在二进制模式下使用 0无所谓' eg: 张三说你在讲什么 with open(r'a.txt','r',encoding='utf8')as f: print(f.read(1))#张 打印该文本读取1个字符 f.seek(6,0)#光标移动6个字节,从文件开头开始移动 print(f.read())#说你在讲什么 打印光标后的所有文本
2.文件数据修改
""" 机械硬盘存储数据的原理:(与固态硬盘不一样,固态硬盘是算法) 1.数据的修改 其实是覆盖在原来的数据上 2.数据的删除 其实是从占有态变为自由态,数据还能恢复 """ 1.代码修改文件内容的方式: 1)覆盖写 先读取文件内容到内存,在内存中完成修改,之后w模式打开该文件写入 2)重命名 先读取文件内容到内存,在内存中完成修改,之后保存到另一个文件中,再将原文件删除并将新的文件重命名为原文件 #覆盖写 with open(r'a.txt','r',encoding='utf8')as f: data = f.read()#将文本文件中的内容赋值给data new_data = data.replace('张三','李四')#将文本文件中的张三替换成李四并赋值给新的变量名 with open(r'a.txt','w',encoding='utf8')as f1: f1.write(new_data)#在f1文本文件中写入新赋值的变量名内容 """ 优点:是覆盖的模式去修改,硬盘只占用一块空间 缺点:当数据较大时会造成内存溢出 """ #重命名 import os with open(r'a.txt','r',encoding='utf8')as f1,open(r'aa.txt','w',encoding='utf8')as f2: for i in f1: f2.write(i.replace('张三', '李四')) os.remove('a.txt') # 删除文件 os.rename('aa.txt', 'a.txt') # 重命名文件 """ 优点:不会造成内存溢出 缺点:可能临时需要占用硬盘两个地方的空间 """
3.函数简单介绍
eg:(不使用len()完成列表数据值个数统计) l1 = [1,2,3,4,5] 1.循环统计 count = 0 for i in l1 count += 1 print(count) 2.自定义函数 def my_len(): count = 0 for i in l1: count += 1 print(count) """ 1.循环结构: 在相同的位置反复执行相同的代码 2.函数: 在不同的位置反复执行相同的代码 """ len() 内置函数 my_len() 自定义函数
这篇关于python学习Day14的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南