-- 文件操作
# open() 创建或者打开文件
```
功能:打开或者创建一个文件
格式:open('文件路径','打开模式')
返回值:文件io对象 (i:input输入 o:output输出 文件的输入输出对象)(或者说文件句柄)
```
'''
#打开模式
w write 写入模式
文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头
r read 读取模式
文件不存在则报错! 存在的话则打开文件,并且将文件指针放在文件的开头
a append 追加模式
文件不存在则创建文件,存在的话则打开文件,*并且将文件指针放在文件的末尾*
x xor 异或模式
文件已存在则报错! 不存在的话则创建文件,,将文件指针放在文件的开头
#扩展模式 (配合打开模式的辅助模式,自己单独不能使用)
+ plus 增强模式(可以让文件具有读写功能)
b byte byte模式(二进制字节流)
#模式一共16种
w, w+, wb, wb+
r, r+, rb, rb+
a, a+, ab, ab+
x, x+, xb, xb+
'''
'''
#将字符串和字节流(Byte流)类型进行转换 (参数写成转化的字符编码格式)
#encode() 编码 将字符串转化为字节流(Byte流)
#decode() 解码 将Byte流转化为字符串
'''
==========================================================================================
# 例一
fp = open("star.txt","a+")
fp.write("我有个故事o")
res = fp.tell()
print(res)
fp.seek(0)
res = fp.read()
print(res)
fp.close()
print("================================")
with open("star.txt","r") as fp:
res = fp.readlines()
print(res)
-- 文件相关函数
#seek() 功能:调整指针的位置
#tell() 功能:告诉我们当前光标在什么位置
#readline() 功能:读取一行文件
"""
参数:读取行内指定长度的字符,指定长度< 行总长度,读取指定长度,如果指定长度>行总长度,读取当前行!
"""
#readlines() 功能:将文件中的内容按照换行读取到列表当中
#writelines() 功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串的可迭代性数据
#truncate() 功能:把截取的字符串写入文件中 参数读的是字节
==========================================================================================
# writelines()
# 功能 将内容是字符串的可迭代性数据写入文件 参数 内容为字符串的可迭代性数据
with open("star.txt","w+") as fp:
listvar = ["asdf","阿斯蒂芬","4564"]
strvar = "梦想是美好的,现实是残酷的\n"
fp.writelines(listvar)
fp.writelines(strvar)
# readline() 功能:读取一行文字
with open("star.txt","r+") as fp:
txt1 = fp.readline()
txt2 = fp.readline()
txt3 = fp.readline()
print(txt1)
print(txt2)
print(txt3)
print("===========================")
# 优化版 对于任意文件中的所有字符串全度出来
with open("star.txt","r+") as fp:
res = fp.readline()
while res :
print(res)
res = fp.readline()
print("===========================")
# 案例三
with open("star.txt","r+") as fp:
txt1 = fp.readline(3000)
txt2 = fp.readline(2)
txt3 = fp.readline(5)
print(txt1)
print(txt2)
print(txt3)
print("===========================")
# readlines() 功能 将文件内容按照换行读取到列表中
with open("star.txt","r+") as fp:
res = fp.readlines()
print(res)
print("===========================")
# trunacte() 功能 把截取的字符串重新写入文件中 参数 读的是字节
with open("star.txt","r+") as fp:
fp.write("我爱你亲爱的菇凉")
fp.truncate(6)
fp.seek(0)
res = fp.read()
print(res)
"""
# truncate() 参数读的是字节
# seek() 参数读的是字节
# read() 参数读的是字符个数
# readline() 参数读的是字符个数
# 参数 读取行内指定长度的字符 指定长度<行总长度 读取指定长度 如果指定长度>行总长度 读取当前行
"""