一、异常处理

异常即报错,可分为语法异常和逻辑异常

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】异常处理/基本的文件操作的更多相关文章

  1. 07_Python语法示例(基础语法,文件操作,异常处理)

    1.写程序在终端输出图形 ######## # # # # ######## print("#" * 8) print("#" + " " ...

  2. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  3. Python学习Day2笔记(集合和文件操作)

    1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_ ...

  4. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  5. [python拾遗]文件操作

    文件操作 1.open()函数 open()函数主要用于文件处理,一般分为下面3个过程: 1.打开文件 2.操作文件 3.关闭文件 常见的格式示例: f = open('note.txt','r') ...

  6. Android数据存储-文件操作

    一.预备知识 1.Android中的MVC设计模式 MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型可以对于多种视图模型,比如一批统计 ...

  7. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  8. Day3 文件操作和函数

    一 文件操作 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.1打开文件读取内容 print(open("sounds","r", ...

  9. Linux下普通IO文件操作函数---C语言

    普通文件IO总结 FILE结构体    typedef struct   {       int level; /*填充/清空一级缓存*/     unsigned flag; /*文件状态指针*/ ...

随机推荐

  1. 如何搭建一个vue项目(完整步骤)

    参考资料 一.安装node环境 1.下载地址为:https://nodejs.org/en/ 2.检查是否安装成功:如果输出版本号,说明我们安装node环境成功 3.为了提高我们的效率,可以使用淘宝的 ...

  2. scrapy实战7爬取搜狗微信:

    爬取微信热门文章标题,内容,内容地址,微信公众号,公众号地址,发布日期等 如图 源码地址:https://github.com/huwei86/sougouweixin

  3. 微信开发:微信js_sdk分享,使用场景,网页在微信app内部分享时的标题与描述,包括logo设置(一)

    主要有下面几步.首先大家先分清楚 小程序的appid,appSecret 跟公众号的appid,appSecret是不一样的.因为这两个都能拿到token,且是不同的值. 准备开始: 1.准备好 公众 ...

  4. happy and angry day! 2019-07-05

    2019-07-05 01:59:51 现在我是挺开心的哈! 直面困难!迎难而上!毫无畏惧! 现在我的结果,少不了大家给我的支持与鼓励! 鸣谢 章香涛老师---------在各个方面鼓舞了我,激发了我 ...

  5. 拓扑排序 (Topological Sorting)

    拓扑排序(Topological Sorting) 一.拓扑排序 含义 构造AOV网络全部顶点的拓扑有序序列的运算称为拓扑排序(Topological Sorting). 在图论中,拓扑排序(Topo ...

  6. Balking设计模式

    import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayLi ...

  7. 【题解】Unit Fraction Partition-C++

    Description给出数字P,Q,A,N,代表将分数P/Q分解成至多N个分数之和,这些分数的分子全为1,且分母的乘积不超过A.例如当输入数据为2 3 120 3时,我们可以得到以下几种分法: In ...

  8. NetworkStream.Read

    Reads data from the NetworkStream. 参数 buffer 类型:System.Byte[]类型 Byte 的数组,它是内存中用于存储从 NetworkStream 读取 ...

  9. Linux命令之文件相关

    cd 绝对路径相对路径 --转到对应目录 touch-a --更新访问时间 touch -m --更新修改时间(ls -l只能显示修改时间) touch -t [[cc]yy]mmddhhmm[ss] ...

  10. 【Git】Found a swap file by the name ".git/.MERGE_MSG.swp"

    最近合并分支的时候总是遇到这个问题,导致合并之后还需要再提交一次--有点烦-- 解决方案: 在项目根目录(如/StudioProjects/demo/Leave)下,找到 .git/.MERGE_MS ...