文件操作已经是很久之前讲的了,但是感觉自己对文件操作还是模模糊糊,于是抽了一个晚上的时间,再好好复习一下。
open函数 --默认只读方式打开
打开的文件句柄:打开text.txt文件,设置编码为utf-8
read --一次性读完
fp = open("test.txt", encoding="utf-8")
# 一次性读完 fp.read. 从文件指针的位置开始读
print(fp.read())
读取文件时可以设置光标的位置:seek()
# # # 把光标标置于初始位置--从0开始
fp.seek(0)
print(fp.read())
#new line 2
#一二三
fp.seek(3)
print(fp.read())
# line 2
#一二三
readline --默认只读第一行
fp = open("test.txt", encoding="utf-8")
print(fp.readline())
#new line 2
print("====")
# 读完第一行后,指针到了第二行行首,所以第二次读的时候从第二行开始
print(fp.readline())
#====
#一二三
fp.readlines -- 每一行作为一个元素放在列表中保存
print(fp.readlines())
#['new line 2\n', '一二三']
open --打开文件, 指定打开模式
r --read 以读的方式打开
w -- write 覆盖写入,文件存在则会覆盖原来的内容,不存在则会创建文件并写入
a -- append 追加写,存在则追加内容到文件末尾,不存在则新建
b --二进制模式 --常用的有图片
with语句 --代码执行完了,会自动关闭文件,不然会一直占用内存资源
with open("test.txt", encoding="utf-8") as fp:
print(fp.read())
#new line 2
#一二三
os模块
#得到当前操作的路径 # print(os.getcwd()) # lst = os.listdir('../z-bilibili') # print(lst) # # os.mkdir('test') # 新建文件夹 # # os.mkdirs('A/B/C') 创建多级目录 # # os.rmdir('test.py') #删除文件夹 # # os.remove('path') 删除文件 # # os.removedirs() 删除多级目录 # # os.chdir() 设置为当前工作目录# #获取文件或目录的绝对路径 # print(os.path.abspath('a.txt'))# # 判断文件是否存在,返回True 或 Flase # print(os.path.exists(r'D:\python 代码\03-23 函数\test.txt'), os.path.exists('asd'))# # 将目录与目录或者文件名拼接起来 # print(os.path.join('z-bilibili', '123', 'a.txt')) # print(os.path.join('z-bilibili', 'a.txt'))# # 分离文件名和扩展名 # print(os.path.splitext('06文件操作.py')) # os.remove(r'D:\python 代码\z-bilibili\b.txt')# # 从目录中提取文件名 # print(os.path.basename('D:\\python 代码\\z-bilibili\\01数据类型.py')) # # # 从一个路径中提取文件路径,不包括文件名 # print(os.path.dirname('D:\\python 代码\\z-bilibili\\01数据类型.py')) # # # # # 判断是否为路径 01.py为文件 所以返回Flase # print(os.path.isdir('D:\\python 代码\\z-bilibili\\01数据类型.py')) # # 返回为True # print(os.path.isdir('D:\\python 代码\\z-bilibili'))