实验八 Python文件处理
实验要求:新建一个文件夹命名为“学号+姓名”格式命名,以下所有实验代码均保存在此文件夹。
1. 创建文件 suiji.txt,文件共 100000 行,每行存放一个 1~100 之间的整数,最后将此文件保存至 data 文件夹.
提示:调用 random. randint(1,100)方法产生随机数
import randomwith open("suiji.txt", 'w+') as fp:for i in range(100000):fp.write(str(random.randint(1, 100)))fp.write('\n')
2. 统计文件(tongji.csv)中的数字、小写字母、大写字母出现的次数。
提示:
- 字符串.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。
- 字符串.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。
- 字符串.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False
with open("tongji.csv", 'r') as fp:count1 = 0count2 = 0count3 = 0for i in fp.read():if i.isdigit():count1 += 1if i.islower():count2 += 1if i.isupper():count3 += 1
print(" 数字出现次数:", count1)
print("小写字母出现次数:", count2)
print("大写字母出现次数:", count3)
3. 计算(pingjun.csv)文件中所有数值数据的和。(选做)
with open("pingjun.csv", 'r') as fp:num = 0s = fp.read()[1:] # 从第二行开始读取for i in s:num += iprint("所有数值数据的和:", num)
4. 读取一个文件(test-row.txt),显示除了以#号开头的行以外的所有行。
提示:使用 str. startswith()方法判定字符串是否以某个符开头。
with open("test-row.txt", 'r') as fp:s = fp.readlines()for row in s:if row[0] == '#': # 方法一:使用if函数continueelse:print(row, '\n')# 方法二:使用 str. startswith()方法判定字符串是否以某个符开头
with open("test-row.txt", 'r') as fp:s = fp.readlines()for row in s:if not row.startswith('#'):print(row, '\n')
5. 利用 os 模块读取 data 文件夹中的所有数据文件,并将其名字前面统一加上“文件操作”。
import os # 引入os模块oldname = os.listdir('.\data') # 返回指定目录下的所有文件和目录名
os.chdir('.\data') # 改变当前工作目录到指定目录
for name in oldname:os.rename(name, "文件操作-" + name) # os.rename(old,new)文件old重命名为new
6. (选做)打开一个英文的文本文件,将该文件中的每个英文字母加密后写入到一个新文件。
加密的方法是:将 A 变成 B,B 变成 C,Y 变成 Z,Z 变成 A;a 变成 b,b 变成 c,其他字符不变化。
with open("yingwen.txt", "r") as fp:content = fp.read()print("原文件的内容:", '\n' + content)
fp.close() # 可选项
newstr = ''
for i in content:if i.islower(): # 如果字母是小写的话if i == 'a' or i == 'b':num = ord(i)i = chr(num + 1) # 如果是a,b,ASCII码加一 a变成b,b变成cif i.isupper(): # 如果字母是大写的话if i == 'A' or i == 'B' or i == 'Y':num = ord(i)i = chr(num + 1) # 如果是A,B,Y,ASCII码加一 A变成B,B变成C,Y变成Zif i == 'Z':i = chr(65) # 如果是Z,Z变成 Acontinuenewstr = newstr + i # 每轮修改后在循环中添加到新的字符串
print("修改后文件中的内容:", '\n' + newstr)with open("yingwen_new.txt", "w+") as fp:fp.write(newstr) # 将新的字符串文本写入新文本文件
fp.close() # 可选项
7. 图片下载实验:
(1)利用以下代码获取图片的字节流
import requests
strs=requests.get(url).content#字节序列,即将保存的文件内容
#url 是字符串,下面是 url 连接
#https://img12.360buyimg.com/n1/s450x450_jfs/t1/142383/17/138
25/73504/5fa8b1c8E6a34854c/91c7d2bb5ea7f9aa.jpg
#http://img10.360buyimg.com/n1/s450x450_jfs/t1/70270/22/10661
/109832/5d834285E50d7c841/ad61e639c4fb32d5.jpg
(2)将 url 制向图片的字节序列保存至图片,其中图片名字和格式需要按照 url 规定的格式(即标注黄色的部分,字符串的 split 方法自动识别),最后将图片保存至 data 文件。
实验八 Python文件处理相关推荐
- python实验目的_实验五 Python文件操作实验
实验五 Python文件操作实验 一.实验目的与要求 1.掌握文件的打开和关闭. 2.掌握文件的不同操作,如读写.重命名.删除. 3.熟悉闭包.装饰器以及常见内置函数的使用. 二.实验原理 在pyth ...
- python上机实验报告读取文件_Python程序设计实验八:文件
安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020.6.3 指导教师:修宇 [实验名称]实验八 文件 [实验目的] 掌握读写文 ...
- 实验3 Python文件与数据库
实验3.1:文本文件操作 题目描述:编程新建一个名为test.txt文件,存放在代码文件所在目录中,并且打开该文件.然后写入如图1-1所示内容到文件中.最后分别读取5个字符.读取第一行字符串.读取第三 ...
- 大学计算机基础实践教程实验八,《大学计算机基础》实验报告八.doc
<大学计算机基础>实验报告八 <大学计算机基础>实验报告 实验名称实验八 Word图文混合排版学号123姓名123实验日期123实验学时2实验性质基础性实验 □ 综合.设计性 ...
- 实验八:无线城域网ViMax仿真实验
无线城域网WiMAX仿真实验 实验要求与目的 理解 WiMAX 的工作原理 利用 NS2 仿真分析 WiMAX 实验原理 实验无线城域网(WMAN)和IEEE 802. 16(WiMax)的理论内容详 ...
- python上机实验报告读取文件_Python程序设计实验报告:实验八 文件
安徽工程大学 Python程序设计 实验报告 班级 物流192姓名陶俊 学号3190505235 成绩 日期 2020.6.3 指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文 ...
- python上机实验报告读取文件_Python程序设计实验报告八 : 文件
安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名凌剑涛 学号 3190505233成绩 日期2020.6.3 指导老师 修宇 实验八 文件 [实验目的] 掌握读写文本文件或CSV文 ...
- 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件
安徽工程大学 Python程序设计 实验报告 .班级 物流192 姓名张羽学号3190505221成绩 日期2020.6.3指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文件, ...
- python语言程序设计实践教程实验八答案_Python程序设计实验报告: 实验八 文件...
实验八 文件 班级:物流191 姓名:韩晶晶 学号:3190505140 指导老师:修宇 成绩: 日期:2020.6.3 [实验目的] 掌握读写文本文件或 CSV 文件,进而对数据进行处理的方法. [ ...
最新文章
- LipNet与ICLR评委互怼始末:名气大又怎样,还不是被拒绝了
- 编程求一个后缀表达式的值
- 通俗易懂,快速幂基本思想
- redis储存List类型数据
- SAP Spartacus 在 Github 托管虚拟机上执行的 pipeline 明细
- 贾跃亭又造假,250亿灰飞烟灭!
- html 广告 ins 原理,如何通过HTML DOM元素显示AdSense广告
- Balancing Act(树的重心入门)
- 第一百七十三节,jQuery,Ajax
- redis与mysql性能对比、redis缓存穿透、缓存雪崩
- STM32智能小车电路综合实习报告
- java mina框架实例_MINA框架简介和一个简单的例子
- 关于 Kubernetes中Pod健康检测和服务可用性检查的一些笔记(LivenessProbe+ReadinessProbe)
- 4.Linux本地yum源仓库安装配置
- Ubuntu16.04安装MySQL笔记
- 最后3天!生信入门转录组和可视化学习捷径
- CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)
- 老男孩Linux 网络班学习-决心书
- 冒险、卡牌、养成类游戏的设计要点
- 深度学习训练营之海贼王人物识别
热门文章
- Win10修复Linux引导
- Android移动拼图小游戏
- QT使用QAxWidget读取Excel数据
- windows server 2012 安装 VC++ 安装失败0x80240017解决方法
- 判断手机号码vue_判断手机号运营商
- Docker Docker Habor一个比Register更加好用的仓库
- android 壁纸 官方网站,wallsplash - 壁纸从未如此精美 #Android
- 播放和保存视频,图像倒置纠正到本地文件夹(含ffmpeg ,pyav多线程读取多路网络摄像头)
- C++ 类(静态成员和静态函数)
- java实体类及类属性判空