文件
1.编码格式的介绍
python的解释器使用的是Unicode(内存)
.py文件在磁盘上使用UTF-8储存(外存)
2.文件的读写原理
文件的读写俗称“IO操作”
文件读写操作流程
操作原理
内置函数open()创建文件对象:
语法规则:
#读取一个文件
file=open('a.txt','r')
print(file.readlines())
file.close()
3.常见的文件打开方式
文件的类型:
文本文件:储存的是普通“字符”文本,默认为unicod字符集,可以使用记事本程序打开
二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专业的软件打开。举例:mp3音频文件、 jpg图片、doc文档等
打开模式 | describe
-------- | -----
r |以只读模式打开文件,文件的指针将会放在文件的开头
w | 以只写模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头
a | 以追加模式打开文件,如果文件不存在则创建,如果文件存在,则在文件末尾追加内容,文件指针在原文件末尾
b | 以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,比如rb或wb
|+ |以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,比如rb或wb
4.文件对象的常用方法
5.with语句
with语句可以自动管理上下文资源,不论什么原因跳出with语句都能确保文件正确的关闭,以此来达到释放资源的目的
with open('a.txt','r') as file:
print(file.read())
'''
MyContentMgr实现了特殊方法__enter__(),__exit__称为该类对象遵守了上下文管理器协议
该对象的实例对象,称为上下文管理器
'''
class MyContentMgr(object):
def __enter__(self):
print('enter方法被调用了')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('exit方法被执行了')
def show(self):
print('show方法被调用了')
with MyContentMgr() as file: #相当于file=MyContentMgr()
file.show()
目录操作
os模块是python内置的与操作系统功能和文件系统相关的模块,该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样
import os
#os.system('notepad.exe') #打开电脑上的记事本程序
#os.system('calc.exe') #打开计算器
#可直接调用可执行文件
#os.startfile('D:\\软件\\安装的软件\\WeChat\\WeChat.exe') 打开路径下的文件
print(os.getcwd())
os模块与os.path模块用于对目录或文件进行操作