【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; /*文件状态指针*/ ...
随机推荐
- ElasticStack学习(五):ElasticSearch索引与分词
一.正排索引与倒排索引 1.什么是正排索引呢? 以一本书为例,一般在书的开始都会有书的目录,目录里面列举了一本书有哪些章节,大概有哪些内容,以及所对应的页码数.这样,我们在查找一些内容时,就可以通过目 ...
- 自定义HashSet判重标准
HashSet在执行add时会首先根据目标类的hashcode判断是否有与其hashcode相同的对象,若有则使用equals该对象判断是否与其相同. HashSet保证了元素的唯一性, 我们可以通过 ...
- k8s学习 - 概念 - Pod
k8s学习 - 概念 - Pod 这篇继续看概念,主要是 Pod 这个概念,这个概念非常重要,是 k8s 集群的最小单位. 怎么才算是理解好 pod 了呢,基本上把 pod 的所有 describe ...
- VSCode 云同步扩展设置 Settings Sync 插件
VSCode 云同步扩展设置 Settings Sync 插件 Hi.大家好,今天又是美好的一天. 关于 Settings Sync扩展: Settings Sync可以同步你当前的VSCode配置环 ...
- Samba与nfs与ftp
Samba服务 samba是一个网络服务器,用于Linux和Windows之间共享文件. samba端口号 samba (启动时会预设多个端口) 数据传输的TCP端口 139.445 进行NetBIO ...
- 你真的了解 Cookie 和 Session 吗
我在做面试官的时候,曾经问过很多朋友这个问题: Cookie 和 Session 有什么区别呢?大部分的面试者应该都可以说上一两句,比如:什么是 Cookie?什么是 Session?两者的区别等. ...
- .net持续集成sonarqube篇之sonarqube基本操作(一)
系列目录 Sonarqube Web管理界面虽然设计的简洁大方,也非常直观,但是由于功能繁多,这对快速入手以及快速定位到想要的功能都是一个挑战,在以后的几个小节里我们简要介绍. OwerView(概览 ...
- Xshell为什么连不上虚拟机
- Codeforces比赛注意事项(英语比较好,能翻译题目的可以跳过此文章)
由题目可知,这篇文章是讲翻译文章的. 当然不是教英语啦 其实cf的比赛对于本蒟蒻最大的挑战就是翻译题目啦 所以我比赛时只能靠各种翻译器去无耻地翻译,然后读中文. 目前较好的翻译器有:百度,谷歌,有道. ...
- 【杂谈】如何对Redis进行原子操作
什么时候需要进行需要原子操作? 很常见的例子,就是利用Redis实现分布式锁. 实现锁需要哪些条件? 我们知道要实现锁,就需要一个改变锁状态的方法.这个方法能原子地对锁的状态进行检查并修改.如果修改成 ...