- 文件IO:
IO:Input/Output 输入和输出(一写一读)
文件IO就是对文件进行操作:创建文件、删除文件、写入文件、读取文件(包括目录)
文件IO是通过内置函数open()来实现
1.关于open()函数:参数一表示路径及名称;参数二表示操作方式
1.路径:
绝对路径:基于盘符
相对路径:没有盘符(有参照物)
名称必须有后缀
2.open函数第二个参数总结:6个最常用的
r表示:只读模式打开该文件,只能读,不能写,文件指针指向开头(默认)
r+表示:文件可读可写,读取时,文件指针在开头,写入时,文件指针也在开头,并覆盖原有内容
w表示:只写默认打开文件,先清空原有内容,只能写,不能读
w+表示:可读可写,打开文件时,先清空原有内容,然后进行读写(文件指针默认在结尾处)
file = open('a.txt','w')
#获取文件指针
print(file.tell())
#设置文件指针
file.seek(0)
print(file.read())
a表示:文件只写,写入时,文件指针指向内容末尾,以追加形式写入
a+表示:文件可读可写,写入时,以追加形式写入,读取时,指针也在末尾
file = open('a.txt','a+')
#获取文件指针
print(file.tell())
#设置文件指针
file.seek(0)
print(file.read())
扩展1:除了r/r+/w/w+/a/a+这六种,还有带字母b的,表示二进制读写rb/rb+/wb/wb+/ab/ab+
练习:图片复制(视频、音频都可以复制)
#复制图片
f = open('jpg','rb')
jpg = f.read()
f2 = open(d:/a.jpg','wb')
f2.write(jpg)
扩展2:当有中文时,需要指定文件编码方式(python3默认用GBK打开文件)
file = open('a.txt','r',encoding = 'utf-8')
print(file.read())
2.关于读取文件总结:
#以下方法都是用文件对象调用(open函数返回的就是文件对象)
read() 方法:默认是读取全部,但也可以逐个字节读(以字符串形式返回)
tell()方法:获取文件指针位置
seek()方法:移动文件指针,默认在0处,即文件开头位置
readline()方法:读取一行(以字符串形式返回)
readlines()方法:读取全部行(以列表形式返回)
file = open('a.txt','r',encoding = 'utf-8')
print(file.readline().strip())#字符串去掉换行
print(file.readlines())#列表
3.关于循环读取文件:枚举函数 enumerate(内置)
f =