Python程序设计 文件和异常 笔记整理

第七章

1.文件读写

步骤:打开文件→处理数据→关闭文件

2.open函数

fileobj = open(filename,mode)

fileobj是open()返回的文件对象

filename是该文件的文件名

mode(例如'rt')是指明操作(第一个字母表示对其的操作,例如r,表示只读)和文件类型(第二个字母表示,例如t,表示文本类型)的字符串

3.文件打开模式

"r"只读模式(默认)

"w"覆盖写模式(不存在则新创建;存在则重写新内容)

"a"追加模式(不存在则新创建;存在则只追加内容)

"x"创建写模式(不存在则新创建;存在则出错)

"+"与r/w/a/x 一起使用,增加读写功能

"t"文本类型

"b"二进制类型

4.文件读写函数

open()打开文件

read(size)从文件读取长度为size的字符串,如果未给定或为负则读取所有内容

readline()读取整行,返回字符串

readlines()读取所有行并返回列表

write(s)把字符串s的内容写入文件

writelines(s)向文件写入一个元素为字符串的列表,如果需要换行则要自己加入每行的换行符。

seek(off, whence=0)设置文件当前位置

tell()返回文件读写的当前位置

close()关闭文件。关闭后文件不能再进行读写操作。

5.文件复制

把cj.txt文件的内容复制到cjback.txt文件当中

source=open("cj.txt","r")#打开文件
back=open("cjback.txt","w")
s=source.read()#处理数据
back.write(s)
source.close()#关闭文件
back.close()

6.文件读写

f=open("score.txt","r")#逐行读取
for line in f.readlines():print(line)
f=open("score.txt","r")
for line in f.readlines():#用readlines()读取多行文件print(line)    #处理行
f.close()

7.异常处理

标准异常

SystemExit解释器请求退出

FloatingPointError浮点计算错误

OverflowError数值运算超出最大限制

ZeroDivisionError除(或取模)零 (所有数据类型)

KeyboardInterrupt用户中断执行(通常是输入^C)

ImportError导入模块/对象失败

IndexError序列中没有此索引

(index)RuntimeError一般的运行时错误

AttributeError对象没有这个属性

IOError输入/输出操作失败

OSError操作系统错误

KeyError映射中没有这个键

TypeError对类型无效的操作

ValueError 传入无效的参数

获取其他的异常细节 可以使用except Exception as name

8.raise语句

raise 表达式,表达式描述引发的异常

例如

raise ValueError("参数错误,半径小于0")

9.assert语句

即断言语句 系统变量debug为True时有效

assert 表达式

      等价于:

if not 表达式:

   raise AssertionError

assert 表达式1,表达式2

      等价于:

if not 表达式1:

   raise AssertionError(表达式2)

10.Python的模块函数

分三个层次:

一.内置函数  不用import语句引入,它里面的函数可直接调用。

二.标准模块函数  用import语句引 入后再调用,但不必安装。如math库。

三.第三方模块函数 需先安装 ,再用import语句引入模块后才能调用里面的函数,  如Pandas模块。

Pandas 模块

Pandas 是一个强大的数据处理和分析库,常用于处理表格数据。

读取CSV文件

import pandas as pddf = pd.read_csv('data.csv')
print(df.head())

写入CSV文件

df.to_csv('output.csv', index=False)

读取Excel文件

df = pd.read_excel('data.xlsx')
print(df.head())

写入Excel文件

df.to_excel('output.xlsx', index=False)

 读取JSON文件

df = pd.read_json('data.json')
print(df.head())

写入JSON文件

df.to_json('output.json')

Plotly 模块实现数据可视化

Plotly 是一个交互式图表库,支持多种图表类型,如折线图、柱状图、散点图等。

安装Plotly

pip install plotly

绘制折线图e.g.

import plotly.graph_objects as gofig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13]))
fig.show()

绘制柱状图e.g.

fig = go.Figure(data=go.Bar(x=['A', 'B', 'C'], y=[5, 10, 15]))
fig.show()

微总结

  • 文件读写:使用 open 函数处理文本文件,支持读取 ('r')、写入 ('w')、追加 ('a') 模式。
  • Pandas:处理常见格式文件如 CSV、Excel、JSON,提供强大的数据操作功能。
  • Plotly:创建交互式数据可视化,支持多种图表类型,并与 Pandas 无缝集成。

未经允许 不得转载 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/29538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsp运行提示_jsp.java某行存在错误问题的解决

jsp运行提示XXX_jsp.java某行存在错误问题的解决 在编译运行jsp文件时,出现类似如下提示: 49行发生错误,要注意: 这里所指的49行并非jsp文件的第49行,而是编译后的jsp.java文件的第49行。 因此:解决问题…

saas考试系统和私有化考试系统的区别

SaaS考试系统和私有化考试系统,作为现代信息化教育的重要工具,各有其独特的优势和特点。本文将从多个维度对这两种系统进行深入剖析,以揭示它们之间的核心差异。 首先,从部署方式来看,SaaS考试系统是基于云服务的在线考…

STM32--IAP程序升级实验

1. STM32程序升级方法 1.1 ST-link / J-link下载 将编译生成的hex文件使用ST-Link/J-Link工具直接下载进 Flash 即可。Keil中点击下载也能一键下载。下载后的代码会存放在Flash的起始地址0x0800 0000处。 简单补充一句,bin文件和hex文件的区别: bin文…

论坛产品选型,需要关注哪些点?

论坛社区是一个经久不衰的行业,比如我们常见的宠物社区,校园社区,游戏社区、企业内部社区,品牌社区,本地同城、私域社区项目、付费社群、问答社区等等,可以说是覆盖了各行各业,那么如果我们要搭…

Python实现管线建模 - 3.同心变径管

往期回顾 Python实现管线建模 || 1.圆直管、方管https://blog.csdn.net/Xxy9426/article/details/138836778?spm1001.2014.3001.5501 对依赖库的补充 随着后续内容的深入,我发现单纯靠trimesh库已经无法完成后续的建模(涉及到多个几何体拼接或者是创建…

article:文章信息表

1、article:文章信息表 序号名称描述类型1id主键varchar(40)2user_id发布者用户idvarchar(40)3nick_name发布者用户昵称varchar(40)4user_image发布者头像urlvarchar(255)5title文章标题varchar(255)

MySQL入门学习-子查询.EXISTS

子查询 EXISTS 是 MySQL 中的一种子查询类型,用于检查子查询结果集是否为空。如果子查询结果集不为空,则 EXISTS 子查询返回 TRUE;否则,返回 FALSE。 子查询 EXISTS 的特点是它只关心子查询结果集是否为空,而不关心结果…

全域外卖系统源码在哪搭建?哪家公司的系统源码最值得推荐

随着全域外卖的兴起,全域外卖系统源码搭建逐渐在众多全域外卖赛道的入局方式中脱颖而出。但是,就目前多个创业者社群就这一话题的讨论程度来看,绝大多数创业者对于全域外卖系统源码搭建模式的了解都仅仅停留在“是什么”层面,而对…

Conmi的正确答案——Vue默认加载方式设置为Yarn后怎么修改

Vue版本:3 1和2主要是搜索文件所在位置,Windows的这个文件一般在“C:\User{当前用户}”下,linux的非root情况下一般在“/home/{当前用户}”下。 1、打开“Everything”; 2、搜索“vuerc”; 3、打开“.vuerc”&#xf…

Boom3D软件下载-Boom3D音效增强工具下载附加详细安装步骤

Boom3D音效增强工具是一款便捷的为用户们进行音频处理和编辑的软件,支持用户们轻松的进行音频的使用,支持超多的音频格式让你可以轻松的进行使用,Boom3D音效增强工具拥有多种音频特效的功能,让你可以在Boom3D音效增强工具轻松的进…

关于scrapy模块中setting.py文件的介绍

作用 在Scrapy框架中,settings.py 文件起着非常重要的作用,它用于配置和控制整个Scrapy爬虫项目的行为、性能和功能。 setting.py文件的介绍 # Scrapy settings for haodaifu project # # For simplicity, this file contains only settings consider…

Linux时间子系统5:timekeeper、timecountercyclecounter

1. 前言 前面我们介绍了用户态获取时间的接口clock_gettime,时钟的种类posix_clocks以及时钟源clocksource。那么我们思考这样一个问题,无论clock_gettime或者posix_clock定义的时间都是相对于某个起始点的时间,即相对于Linux Epoch的秒数&am…

无sudo权限安装tmux

方法 1: 从源码编译安装 tmux (未测试) 下载并解压源码 首先,下载 tmux 的源码并解压。你可以从 tmux releases page 获取最新版本的 tarball。 wget https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz tar -xzvf tmux-3.3a.tar.gz cd tmux…

web前端开发项目教学:深入剖析四大核心、五大技能、六大实战、七大建议

web前端开发项目教学:深入剖析四大核心、五大技能、六大实战、七大建议 在数字化的今天,Web前端开发已成为一项不可或缺的技能。无论是初学者还是有一定经验的开发者,都需要通过系统的项目教学来提升自己的技能水平。本文将围绕Web前端开发项…

pytorch安装----CPU版本

在安装之前,需要先配置GPU环境(安装CUDA和CudaNN) 命令行输入nvidia-smi,查看驱动信息 安装相应的CUDA 和CUDANN 验证:输入nvcc --version 或者nvcc -V 进行检查 在anaconda里创建环境 conda create -n py39gpu python3.9激活环…

丰臣秀吉-读书笔记二

“啊!平凡的一生,想来也够长了。不过也短。究竟长还是短?或许只有这一刹那是永恒的吧,死亡的一刹那。生命若是永恒,也就取决于那一刹那。” 如果我死了,我的愿望只有这个: “无论多么黑暗&#…

【STC8A8K64D4开发板】第3-1讲:温度传感器DS18B20

第3-1讲:温度传感器DS18B20 学习目的了解DS18B20数字温度传感器的基本原理及其数据格式。掌握STC8A8K64D4与DS18B20单总线通信的程序设计,通信步骤,数据校验等。 硬件电路设计 DS18B20简介 DS18B20主要特性 DS18B20是Dallas 半导体公司推出的…

KernelFuzzer部署、使用与原理分析

文章目录 前言1、概述1.1、整体架构1.2、工作流程1.2.1、环境配置流程1.2.2、计划任务执行流程1.2.3、Fuzz测试流程1.2.3.1、整体资源调度1.2.3.2、选取Fuzz测试目标1.2.3.3、生成Fuzz测试参数1.2.3.4、进行Fuzz测试 2、安装与使用2.1、源码安装2.1.1、部署系统依赖组件2.1.1.1…

硫碳复合材料可用作固态电池正极材料 锂硫电池是重要下游

硫碳复合材料可用作固态电池正极材料 锂硫电池是重要下游 硫碳复合材料,是半固态电池、固态电池的正极材料,主要用于金属硫电池制造领域,在锂硫电池应用中研究热度最高。 锂硫电池,一种二次电池,以硫元素为正极&#x…

HarmonyOS 页面路由(Router)

1. HarmonyOS页面路由(Router) 页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回和页面返回前增加一个询问…