0
点赞
收藏
分享

微信扫一扫

看漫画学Python 第十二章代码

单调先生 2022-03-21 阅读 92
python

12.1 打开文件

#open(file,mode = 'r',encoding = None,errors = None)
f = open('test.txt','w+') #以w+模式打开文件,如果不存在,则创建该文件
f.write('world')
print("①创建test.txt文件,将world写入文件")

f = open('test.txt','r+') #以r+模式打开文件,由于在第4行已经创建了该文件,所以会覆盖文件的内容
f.write('Hello')
print("②打开test.txt文件,Hello覆盖文件内容")

f = open('test.txt','a') #以a模式打开文件,会在文件末尾追加内容
f.write(' ')
print("③打开test.txt文件,在文件尾部追加空格 ' '")

#fname = r'C:\Users\Administrator\Desktop\Python\Learn Python By Comic\Course 12'
#fname = 'C:\\Users\\Administrator\\Desktop\\Python\\Learn Python By Comic\\Course 12'
fname = 'C:/Users/Administrator/Desktop/Python/Learn Python By Comic/Course 12/test.txt'
f = open(fname,'a+')
f.write('World')
print("④打开test.txt文件,在文件尾部追加world")

12.2.1 在finally代码块中关闭文件

f_name = 'test.txt'
f = None
try:
	f = open(f_name) #可能引发FileNotFoundError异常
	print("打开文件成功。")
	content = f.read() #可能引发OSError异常
	print(content)
except FileNotFoundError as e:
	print("文件不存在,请先使用ch12_1.py程序创建文件。")
except OSError as e:
	print("处理OSError异常。")
finally:
	if f is not None: #判断f变量是否有数据,如果文件有数据,则说明文件打开成功
		f.close() #关闭文件
		print("关闭文件成功。")

12.2.2 在with as代码块中关闭文件

#使用with as自动资源管理
f_name = 'test.txt'
with open(f_name) as f:
	content = f.read()
	print(content)

12.4 复制文本文件

f_name = 'src_file.txt'

with open(f_name,'r',encoding = 'gbk') as f:
	#以只读模式打开文本文件,注意文件编码形式是GBK,与字符集的大小写没有关系
	lines = f.readlines() #读取所有数据到一个列表中
	copy_f_name = 'dest_file.txt'
	with open(copy_f_name,'w',encoding = 'utf-8') as copy_f:
		#以只读模式打开文本文件,注意文件编码形式是UTF-8,与字符集的大小写没有关系
		copy_f.writelines(lines) #将列表数据lines写入文件中
		print("文件复制成功")

12.6 复制二进制文件

f_name = 'logo.png'

with open(f_name,'rb') as f:
	b = f.read()
	copy_f_name = 'logo2.png'
	with open(copy_f_name,'wb') as copy_f:
		copy_f.write(b)
		print("文件复制成功。")
举报

相关推荐

0 条评论