Python学习小组课程P2-Python基础(2)文件操作
一、前言
注意:此为内部小组学习资料,非售卖品,仅供学习参考。
本系列课程:
Python学习小组课程-课程大纲与Python开发环境安装
Python学习小组课程P1-Python基础(1)语法与数组
Python学习小组课程P2-Python基础(2)文件操作
Python学习小组课程P3-Python爬虫(1)HTML与Json解析
Python学习小组课程P4-Python办公(1)Excel保存
Python学习小组课程P5-Python办公(2)Excel读取与Word生成
Python学习小组课程P6-Python办公(3)邮件与钉钉消息通知
相关文件下载:
链接: https://pan.baidu.com/s/18RiXNEul-Jin5ZNNjZDT4Q 提取码: xbhs
二、知识点
2.0 字符串操作
知识点:换行符、字符串替换、字符串分割
#字符串换行符
str='抗蓝光、小灯泡\n神仙水、特润100'
print(str)
print('#'*50)#字符串替换
str=str.replace('\n','、')
print(str)
print('#'*50)#字符串截取
print(str[4:7])
print('#'*50)#字符串分割
str_list=str.split('、')
print(str_list)
抗蓝光、小灯泡
神仙水、特润100
##################################################
抗蓝光、小灯泡、神仙水、特润100
##################################################
小灯泡
##################################################
['抗蓝光', '小灯泡', '神仙水', '特润100']
2.1 从文件读取商品价格
知识点:文件读取、换行符、字符串替换、字符串分割
f=open("P2.1_data/goods_price.txt", "r", encoding='UTF-8')list=[]
while True:line = f.readline()if line:line=line.replace('\n','') #替换末尾的换行符号print(line) list.append(line.split(',')) #逗号分隔else:break
f.close()print(list)list=sorted(list,key=lambda x:int(x[1]),reverse=True)
print(list)
小灯泡,750
抗蓝光,185
神仙水,580
特润100,420
[['小灯泡', '750'], ['抗蓝光', '185'], ['神仙水', '580'], ['特润100', '420']]
[['小灯泡', '750'], ['神仙水', '580'], ['特润100', '420'], ['抗蓝光', '185']]
2.2 从文件读取商品价格,计算最低价、最高价、平均价
知识点:文件读取、min、max、sum、len函数
f=open("P2.2_data/goods_price.txt", "r", encoding='UTF-8')list=[]
while True:line = f.readline()if line:line=line.replace('\n','') #替换末尾的换行符号price=int(line.split(',')[1]) #逗号分隔list.append(price)else:break
f.close()print('最低价:',min(list))print('最高价:',max(list))print('平均价:',sum(list)/len(list))
最低价: 740
最高价: 760
平均价: 750.0
2.3 统计报价数最多的商品
知识点:文件读取、字典
a={}
# key value 键值对
a['小明']=5
a['小红']=3print(a)a['小明']+=1
print(a)
{'小明': 5, '小红': 3}{'小明': 6, '小红': 3}
f=open("P2.3_data/goods_price.txt", "r", encoding='UTF-8')goods={}
while True:line = f.readline()if line:line=line.replace('\n','') #替换末尾的换行符号goods_name=line.split(',')[0] #逗号分隔if goods_name not in goods:goods[goods_name]=1else:goods[goods_name]+=1else:break
f.close()print(goods)goods=sorted(goods.items(),key=lambda x:x[1],reverse=True)
print(goods)
print(goods[0])
{'抗蓝光': 4, '小灯泡': 7, '神仙水': 2, '特润100': 2}
[('小灯泡', 7), ('抗蓝光', 4), ('神仙水', 2), ('特润100', 2)]
('小灯泡', 7)
2.4 列出指定目录下的所有txt文件并合并
知识点:目录列举、文件读取
扩展:软件著作权申请中的源码合并功能
import ospath='P2.4_data/'
files=os.listdir(path)content=''
for file_name in files:if os.path.isfile(path+file_name) and file_name.endswith('.txt'):print(f'读取{file_name}...')with open(path+file_name, "r", encoding='UTF-8') as f:str=f.read()content=content+strprint('读取完毕')out_file=f"{path}生成目录/content.txt"
with open(out_file, "w+", encoding='UTF-8') as f:print(f'写入{out_file}...')f.write(content)print('写入完毕')
读取1.txt...
读取完毕
读取2.txt...
读取完毕
读取3.txt...
读取完毕
写入P2.4_data/生成目录/content.txt...
写入完毕
2.5 文件分类
知识点:目录列举、文件移动、后缀名获取
import os
import shutilpath='P2.5_data/'
files=os.listdir(path)for file_name in files:if os.path.isfile(path+file_name):#获取后缀名ext=os.path.splitext(file_name)[1].replace('.','')#目录不存在则创建if not os.path.exists(path+ext):os.mkdir(path+ext)#移动文件print(path+file_name,'->',path+ext+'/'+file_name)shutil.move(path+file_name,path+ext+'/'+file_name)
P2.5_data/1.jpg -> P2.5_data/jpg/1.jpg
P2.5_data/1.txt -> P2.5_data/txt/1.txt
P2.5_data/2.avi -> P2.5_data/avi/2.avi
P2.5_data/2.jpg -> P2.5_data/jpg/2.jpg
P2.5_data/2.txt -> P2.5_data/txt/2.txt
Python学习小组课程P2-Python基础(2)文件操作相关推荐
- Python学习小组课程-课程大纲与Python开发环境安装
一.前言 注意:此为内部小组学习资料,非售卖品,仅供学习参考. 本系列课程: Python学习小组课程-课程大纲与Python开发环境安装 Python学习小组课程P1-Python基础(1)语法与数 ...
- Python学习小组课程P6-Python办公(3)邮件与钉钉消息通知
Python办公(3)邮件与钉钉消息通知 一.前言 二.知识点 1 发送邮件 2 钉钉机器人消息通知 一.前言 注意:此为内部小组学习资料,非售卖品,仅供学习参考. 本系列课程: Python学习小组 ...
- Python学习小组课程P4-Python办公(1)Excel保存
一.前言 注意:此为内部小组学习资料,非售卖品,仅供学习参考. 本系列课程: Python学习小组课程-课程大纲与Python开发环境安装 Python学习小组课程P1-Python基础(1)语法与数 ...
- python学习笔记_第21天(文件操作--IO 技术)
使用pickle 序列化 Python 中,一切皆对象,对象本质上就是一个"存储数据的内存块".有时候,我们需要将"内存块的数据"保存到硬盘上,或者通过网络传输 ...
- 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符
Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...
- Python学习笔记---------廖雪峰(基础和函数)
Python学习笔记---------廖雪峰(基础和函数)
- 人工智能入门需要学习哪些课程?AI基础知识
要入门人工智能,需要掌握一些基础知识和技能.以下是一些入门人工智能需要学习的课程和基础知识: 人工智能入门需要学习哪些课程?AI基础知识 数学基础:人工智能需要用到许多数学知识,包括线性代数.微积分. ...
- [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
最新文章
- 天问电子少年团DIY作品
- led流水灯——51单片机程序
- Javascript - ExtJs - TreePanel组件
- CUDA10.0+python3.6+pytorch1.2.0+torchvision0.4.0
- 火星人谚语系列之四:对问题最深入的认识是知道答案
- mysql查看enum和set值_mysql中的enum和set类型_MySQL
- 【Jmeter】Jmeter java.lang.IllegalAccessError: class com.github.weisj.报错
- 判断两篇文章的相似度
- 用matlab道路交通信息化,tiaffic 基于matlab十字路口交通流模拟仿真,多种集合 263万源代码下载- www.pudn.com...
- 【Windows】 rundll32.exe 在 Windows10 上的应用
- 【论文笔记】DeiT论文阅读笔记
- 过年别再逼婚了,《黑镜》里的AI相亲系统是对爱情最好的匹配
- input的button类型,点击页面跳转
- 数据,数据元素,数据项,数据对象的区别
- J2ee学习流程(zz)
- 网络信息安全:消息认证
- 10.8 UiPath 数据筛选Filter Data Table的介绍和使用(Excel数据写入另一个Excel中)
- 03C语言基础-指针
- 纽约大学计算机硕士申请条件,美国纽约大学计算机科学硕士专业课程要求有哪些?申请要求有哪些?...
- FreeMarker Thymeleaf - 前端模板引擎