一,文件的基本操作 (重点)
1,文件的打开:
1.1,使用内置函数open打开文件,语法:open('文件的地址','模式')
1.2,模式:
1.2.1,r--read 只读模式 只能打开已经存在的文件,打开不存在的文件就会报错,打开文件的光标是在第一位
1.2.2,w--write 只写模式 每次打开会清空之前的内容,打开文件的光标是在第一位
1.2.3,a--append 追加模式 如果不存在就创建 存在则直接打开,打开文件的光标是在最后
1.2.4,b--二进制打开
1.2.5,+--更新(读和写)
2,文件的写入:
2.1,文件的打开会返回一个文件对象可以定义变量接受
#f=open('abc.txt','w')
2.2,追加 内容添加到最后面 运行多少次就添加多少次
#f=open('abc.txt','a')
#f.write('hello lili')
2.3,添加多行 一次写入多个内容 ()放可迭代对象
#f.writelines(['hello word\n','hello python\n','hello lala'])
2.4,写入都需要保存
#f.flush()#刷新保存数据
#f.close()#保存并关闭
3,文件的读取:
3.1,文件读取是从光标的位置后面开始读取
#f=open('abc.txt','r')
3.2,read方法--当括号里面不写参数,默认读取全部的内容
#print(f.read())
3.3,括号里面的参数就是读取内容的长度
#print(f.read(10))
3.4,readline方法--读取一行内容
print(f.readline())
3.5,readlines--读取多行内容
print(f.readlines())
3.6,可读可写 +模式
#r+模式写入的时候会覆盖前面的内容
#f=open('abc.txt','r+')
3.6.1,w+模式写入会清空文件的全部内容
#f=open('abc.txt','w+')
3.6.2,a+在文件原本的内容后面追加
#f=open('abc.txt','a+')
3.7,seek方法--移动文件指针的位置
#f.seek(0) #括号里面添加下标
3.8,b方法--二进制数据(字节数据) 图片 视频 音频
#f=open('111.png','rb+')
f.seek(0)
print(f.read())
f.close()
4,文件的关闭:
#f.close()#关闭文件 自动保存文件的数据
#with open 自动打开关闭文件
#as 把打开的文件对象用f接受
with open('abc.txt','a+') as f:
f.seek(0)
print(f.read())
二,文件流
#分为字符文件StringIO , 字节文件BytesIO
1,符文件StringIO
#import io #导入io
#str_io=io.StringIO()
#str_io.write('my name is lili')
#str_io.seek(0)
#print(str_io.read())
#getvalue获取内容,不需要重新定义光标的位置
#print(str_io.getvalue())
#关闭 关闭之后整个文件流的内容都不存在了,会被释放掉
#str_io.close()
2,字节文件BytesIO
by_io=io.BytesIO()
#需要把字符串换成二进制 在字符串前面加b
by_io.write(b'hello lili')
print(by_io.getvalue())
by_io.close()
三,文件目录的操作
1,import os
#和操作系统交互 需要导入os模块
#获取当前文件的路径
#print(os.getcwd())
#切换当前文件的工作目录,该路径必须要存在
#os.chdir(r'D:\File')
#print(os.getcwd())
#可以往切换成功的目录里面创建文件
#open('abc.txt','w')
#没有参数默认就会查看当前目录下面的文件和子目录
#print(os.listdir())
#有参数就查询指定文件地址下面的文件和子目录
#print(os.listdir(r'D:\File\图'))
2,os的使用
2.1,
os.mkdir('abc')#mkdir()创建文件夹
os.rmdir('abc')#用rmdir()方法删除目录,只能删除空文件夹
os.makedirs(r'aa\bb\cc')#makedirs()创建多层目录
os.removedirs(r'aa\bb\cc')#removedir()删除多层目录,也只能删除2.2,空的目录
os.system('cmd')
#调用系统命令system(),会打开cmd,关闭cmd之后会返回的是代码执行码关掉就能退出
os.system('python')
#可以直接查找到Python的版本关掉就能退出
os.walk(r'D:\File\图')#遍历文件夹
os.rename() #(原文件名,新文件名) 对文件夹和文件夹改名字
os.path()把前面的路径和后面的www拼接起来,配合join使用来拼接路径
os.remove()# 移除文件
四,模块和包
1,模块:Python文件就称为模块
包:保存了Python文件的文件夹
2,#import 导入模块
#import a #a代表python文件
#模块名点函数名调用函数
#a.add(1,2)
3,#局部导入from来自什么地方,import什么东西
#from a import add
#from a import func,zdgdrgvdg,as qwe
#as 函数名重命名
#局部导入直接写函数名调用函数
#add(1,2)
#func(1,2)
#qwe()
4,#系统时间模块
#import datetime
#获取当前的系统时间
#print(datetime.datetime.now())
#查看模块里面的方法
#dir(a)
#print(__name__)
#import a