栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 基础知识 - 文件处理/错误和异常 + 练习题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 基础知识 - 文件处理/错误和异常 + 练习题

文件操作

文件,就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。

1.文件打开
在python中,使用open函数,可以打开一个已经存在的文件,或者简历一个新文件。
open(文件名,访问模式)

# demo:
f = open('test.text', 'w')   #打开

f.close()             #关闭文件
  • 创建写的过程
#创建写的过程:
f = open('test.text', 'w')
f.writer('hello world!')      #将字符串写入文件
f.close() 
  • 创建读的过程
#方法一 按字符读取
#.read方法,读取指定的字符,开始时定位在文件头部,每执行一次向后移动指定字符数。
f = open('test.text', 'r')
r.content = f.read(5)   #表示读五个字节
print(r.content)
r.content = f.read(5)   #表示在上面的五个字节基础上再往后读五个字节
print(r.content)
f.close()

# 方法二 多行读取
#readlines方法,一次性读取全部文件为列表,每行一个字符串元素
f = open('test.text', 'r')
content = f.readlines()
i = 1
for tep in content:
    print(i, temp)
    i = i +1
f.close()

# 方法三 单行读取
#.readline方法 只读取一行
f = open('test.text', 'r')
content = f.readline()
f.close()

访问模式:
r:只读,文件指针会放在文件的开头,这是默认模式。
rb:以二进制格式打开一个文件用于只读,文件指针会放在文件的开头,这是默认模式。
w写的模式,文件不存在就新建
wb:以二进制格式打开一个文件用于写入,如果该文件已存在则将其覆盖,文件不存在,则创建新文件。

错误与异常

捕获异常

# demo:1发生异常:
print('test1')
f = open('test123.txt','r')      #读取没有的文件会报错
print('test2')        #上面的如果报错,那么这一条则显示不出来

# 2:捕获异常
try:
	print('test1')
	f = open('test123.txt','r')      #读取没有的文件会报错
	print('test2')  
except (IDError, NameError):     #捕获异常类型,也可以将所有产生的异常,都放进括号里
    pass         #捕获异常后执行的代码
# 获取错误信息
try:
	print('test1')
	f = open('test123.txt','r')      #读取没有的文件会报错
	print('test2') 
	print(mun) 
except (IDError, NameError) as result:    
    print('some mistakes..')   
    print(result)       #获取错误的类型
# 捕获所有异常
try:
	print('test1')
	f = open('test123.txt','r')      #读取没有的文件会报错
	print('test2')  
	print(mun) 
except Exception as result:     #不需要刻意去区分所有异常,exception捕获所有异常。
    print('some mistakes..')   
    print(result)     

try、finally 和嵌套

try:
	print('test1')
	f = open('test123.txt','r')      #读取没有的文件会报错
	print('test2')  
	print(mun) 
except Exception as result:     #不需要刻意去区分所有异常,exception捕获所有异常。
fially:     #表示无论如何都要执行下面代码
    print('some mistakes..')   
    print(result)     

练习

1.应用文件操作的相关知识,通过python新建一个文件gushi.txt,选择一首古诗写入文件中

f = open('gushi.txt', 'w', encoding="utf-8")   #encoding 防止乱码
content = f.writer("""
        静夜思
         李白
 床前明月光,疑是地上霜。
 举头望明月,低头思故乡。""")
f.close()

2.另外写一个函数,读取指定文件gushi.txt,并将内容复制到copy.txt,并在控制台输入‘复制完毕’。ps:分别定义两个函数,完成读文件和写文件的操作,尽可能完善代码,添加异常值处理。

try:
	f = open("gushi.txt", "r", encoding="utf-8")
	m = open("copy.txt", "w", encoding="utf-8")
	try:
		content = f.readlines()
		for i in content:
			m.write(i)
	finally:
		f.close()
		m.close()
		print('复制完毕')
except Exception as result:
	print('出现错误')
	print(result)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008597.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号