【0806 | Day 9】异常处理/基本的文件操作
一、异常处理
异常即报错,可分为语法异常和逻辑异常
1. 语法异常
举个栗子
if #报错 syntaxerror
0 = 1 #报错 syntaxerror
...
正经地举个栗子
print(1)
try:
num = input('请输入: ') #
dic = {'':1} #
print(dic[num]) # print(3) #
1 / int(num) #
print(4) # except Exception as e:
#Exception包括'ZerodivisionError'和'Keyerror'
#异常捕捉
print('e:',e) #
print(2) #
#第一种:输入0
1
请输入: 0
1 #2 & #3
3 #
#5 & #6不执行
e: division by zero #
2 #
#第二种:输入非0
#2 & #3不执行
1
请输入: 2
e: '' #7 返回输入值(即不在字典内)
2 #
2. 逻辑异常
举个栗子
1/0 #报错,逻辑异常有多种形式
正经地举个栗子
print(1)
try: #尝试一下
print(3) #执行/自上而下
1/0 #报错不影响
print(4) #不执行/自上而下
except: #除此之外
pass
print(2)
#
#
#
二、基本的文件操作
1、打开文件的三种方式
#第一步,找到文件路径
path = r'D:\fxyadela\上课练习\test.py' #绝对路径
path = r'test.py' #相对路径
#第二步,双击打开
f = open(path,'r或w')
print(f)
#第三步,看文件
data = f.read()
print(data)
#第四步,写文件
f.write('nick young')
#第五步,关闭文件
f.close()
#只写,返回地址并在test.py中输入'Nick Young'
path = r'D:\fxyadela\上课练习\test.py' #绝对路径
f = open(path,'w')
print(f)
f.write('nick young')
f.close()
#<_io.TextIOWrapper name='D:\\fxyadela\\上课练习\\test.py' mode='w' encoding='cp936'>
#Nick Young #在test.py中
#只读,返回地址和test.py中的字符
#假设test.py中输入'Nick Young'
path = r'D:\fxyadela\上课练习\test.py' #绝对路径
f = open(path,'r')
print(f)
data = f.read()
print(data)
f.close()
#<_io.TextIOWrapper name='D:\\fxyadela\\上课练习\\test.py' mode='r' encoding='cp936'>
#Nick Young
绝对路径: 从根目录开始找
相对路径: 当前执行文件所在的文件夹开始找
2、早期读写共同执行时存在的问题
1.文件既可读又可写,假设文件内容为1
2.系统在1后面追加2(需要10s)
3.在这10s内,系统读文件需要5秒,此时读出只有1,系统会写2
4.等读完文件,再写完2,此时系统10s结束,已经变为12
5.则两者12相遇,报错
注意: 所以,只读or只写
3、关闭文件的注意事项
f = open('test.py','r')
data = f.read()
print(data)
del f #不关闭操作系统,只删除f引用及在内存中的占用
f = open('test.py','r')
data = f.read()
try:
1/0
print(data)
except Exception as e:
print('e:',e)
finally:
f.close() #既删除f引用,又会命令操作系统关闭对外存文件的占用
4.TODO用法
if True:
#TODO:猜年龄逻辑运算(类似于索引)
pass
【0806 | Day 9】异常处理/基本的文件操作的更多相关文章
- 07_Python语法示例(基础语法,文件操作,异常处理)
1.写程序在终端输出图形 ######## # # # # ######## print("#" * 8) print("#" + " " ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- Python学习Day2笔记(集合和文件操作)
1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...
- [python拾遗]文件操作
文件操作 1.open()函数 open()函数主要用于文件处理,一般分为下面3个过程: 1.打开文件 2.操作文件 3.关闭文件 常见的格式示例: f = open('note.txt','r') ...
- Android数据存储-文件操作
一.预备知识 1.Android中的MVC设计模式 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型可以对于多种视图模型,比如一批统计 ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- Day3 文件操作和函数
一 文件操作 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.1打开文件读取内容 print(open("sounds","r", ...
- Linux下普通IO文件操作函数---C语言
普通文件IO总结 FILE结构体 typedef struct { int level; /*填充/清空一级缓存*/ unsigned flag; /*文件状态指针*/ ...
随机推荐
- Python Day_3
--人生苦短,我用Python 在我的第一天接触Python,我的小甲鱼老师给我带来的不是HelloWord,是一个小游戏,详情看Python Day_1 在我们这个游戏基础上,我在后面的课后练习,自 ...
- 阿里云域名的ssl证书申请与腾讯服务器域名的证书安装
阿里云域名中的SSL证书申请,腾讯云服务器中的证书安装: 因为公司的与域名都在阿里云上面,服务器却用的是腾讯云的.记得前2年用阿里云管理平台的时候,域名的SSL证书都很好找,也许是长时间不用,找SSL ...
- plot3d网格读取写入与可视化
目录 说明 对于程序的说明 源码 说明 plot3d格式是NASA制定并大量使用的CFD网格文件格式,在CFD编程过程中经常涉及到.本文利用Python语言编写一个读取plot3d文件,写入plot3 ...
- 三个标签完成springboot定时任务配置
1. 问题描述 Java项目定时任务是必备模块,月高风黑夜跑个批处理,记录或者统计一些系统信息. 2. 解决方案: 结合springboot,只需三个标签就能完成定时任务配置. 2.1 标签1 用在s ...
- NET Core CSharp初级篇 1-3面向对象
.NET Core CSharp初级篇 1-3 本节内容为面向对象初级教程 类 简介 面向对象是整个C#中最核心最有特色的一个模块了,它很好的诠释了程序与现实世界的联系. 面向对象的三大特征:继承.多 ...
- vue+element项目中使用el-dialog弹出Tree控件报错问题
1. 按正常的点击按钮,显示dialog弹出的Tree控件,然后把该条数据下的已经选中的checkbox , 用setCheckedNodes或者setCheckedKeys方法选择上 , 报下面这个 ...
- requests模块:请求网页
请求网页时需要设置对应的headers(请求头) import requests link = 'https://movie.douban.com' headers = {'User-Agent': ...
- Java零基础个人学习路线总结
之前学习Java的时候走过一些弯路,一直想写一篇文章来总结下自己对自学Java的认识.趁着这次开通专栏的机会整理一篇文章,既可以巩固所学,也可以为后来境遇相同的人做个参考. 首先提出几个问题 Java ...
- NOIP2018普及T1暨洛谷P5015 标题统计 题解
题目链接:https://www.luogu.org/problemnew/show/P5015 分析: 这道题大概是给个签到分吧.很显然的字符串操作.本篇题解主要帮助初学者,请大佬略过. 首先给大家 ...
- DEDE(织梦)后台发表文章无法编辑(出现空白)方法