实验要求:新建一个文件夹命名为“学号+姓名”格式命名,以下所有实验代码均保存在此文件夹。

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文件处理相关推荐

  1. python实验目的_实验五 Python文件操作实验

    实验五 Python文件操作实验 一.实验目的与要求 1.掌握文件的打开和关闭. 2.掌握文件的不同操作,如读写.重命名.删除. 3.熟悉闭包.装饰器以及常见内置函数的使用. 二.实验原理 在pyth ...

  2. python上机实验报告读取文件_Python程序设计实验八:文件

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020.6.3 指导教师:修宇 [实验名称]实验八 文件 [实验目的] 掌握读写文 ...

  3. 实验3 Python文件与数据库

    实验3.1:文本文件操作 题目描述:编程新建一个名为test.txt文件,存放在代码文件所在目录中,并且打开该文件.然后写入如图1-1所示内容到文件中.最后分别读取5个字符.读取第一行字符串.读取第三 ...

  4. 大学计算机基础实践教程实验八,《大学计算机基础》实验报告八.doc

    <大学计算机基础>实验报告八 <大学计算机基础>实验报告 实验名称实验八 Word图文混合排版学号123姓名123实验日期123实验学时2实验性质基础性实验 □ 综合.设计性 ...

  5. 实验八:无线城域网ViMax仿真实验

    无线城域网WiMAX仿真实验 实验要求与目的 理解 WiMAX 的工作原理 利用 NS2 仿真分析 WiMAX 实验原理 实验无线城域网(WMAN)和IEEE 802. 16(WiMax)的理论内容详 ...

  6. python上机实验报告读取文件_Python程序设计实验报告:实验八 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192姓名陶俊 学号3190505235 成绩 日期 2020.6.3 指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文 ...

  7. python上机实验报告读取文件_Python程序设计实验报告八 : 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名凌剑涛 学号 3190505233成绩 日期2020.6.3 指导老师 修宇 实验八 文件 [实验目的] 掌握读写文本文件或CSV文 ...

  8. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件

    安徽工程大学 Python程序设计 实验报告 .班级 物流192 姓名张羽学号3190505221成绩 日期2020.6.3指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文件, ...

  9. python语言程序设计实践教程实验八答案_Python程序设计实验报告: 实验八 文件...

    实验八 文件 班级:物流191 姓名:韩晶晶 学号:3190505140 指导老师:修宇 成绩: 日期:2020.6.3 [实验目的] 掌握读写文本文件或 CSV 文件,进而对数据进行处理的方法. [ ...

最新文章

  1. LipNet与ICLR评委互怼始末:名气大又怎样,还不是被拒绝了
  2. 编程求一个后缀表达式的值
  3. 通俗易懂,快速幂基本思想
  4. redis储存List类型数据
  5. SAP Spartacus 在 Github 托管虚拟机上执行的 pipeline 明细
  6. 贾跃亭又造假,250亿灰飞烟灭!
  7. html 广告 ins 原理,如何通过HTML DOM元素显示AdSense广告
  8. Balancing Act(树的重心入门)
  9. 第一百七十三节,jQuery,Ajax
  10. redis与mysql性能对比、redis缓存穿透、缓存雪崩
  11. STM32智能小车电路综合实习报告
  12. java mina框架实例_MINA框架简介和一个简单的例子
  13. 关于 Kubernetes中Pod健康检测和服务可用性检查的一些笔记(LivenessProbe+ReadinessProbe)
  14. 4.Linux本地yum源仓库安装配置
  15. Ubuntu16.04安装MySQL笔记
  16. 最后3天!生信入门转录组和可视化学习捷径
  17. CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)
  18. 老男孩Linux 网络班学习-决心书
  19. 冒险、卡牌、养成类游戏的设计要点
  20. 深度学习训练营之海贼王人物识别

热门文章

  1. Win10修复Linux引导
  2. Android移动拼图小游戏
  3. QT使用QAxWidget读取Excel数据
  4. windows server 2012 安装 VC++ 安装失败0x80240017解决方法
  5. 判断手机号码vue_判断手机号运营商
  6. Docker Docker Habor一个比Register更加好用的仓库
  7. android 壁纸 官方网站,wallsplash - 壁纸从未如此精美 #Android
  8. 播放和保存视频,图像倒置纠正到本地文件夹(含ffmpeg ,pyav多线程读取多路网络摄像头)
  9. C++ 类(静态成员和静态函数)
  10. java实体类及类属性判空