文件操作
open()语法
功能:打开或者创建一个文件
格式:open('文件路径','打开模式')
返回值:文件io对象
语法 file_object = open(path,method)
- path 文件的路径和名称 格式为字符串
- method 文件打开的权限 格式为字符串
- w 写权限 如果没有这个文件 自动创建一个 如果有这个文件 那么将会覆盖掉之前的内容。
-
f = open("user.txt","w",encoding="utf-8") #write() 向对应的文件中写入文件 f.write("有纹身的都怕热,镶金牙的爱咧嘴") #close() 关闭文件 f.close()
-
- a 追加写 如果没有这个文件 自动创建一个 如果有这个文件 那么就在文件末尾进行追加
-
f = open("user.txt","a",encoding="utf-8") f.write("金星说:“人不犯我,我不犯人,人若犯我,礼让三分,人若再犯,斩草除根") # 写操作 是将要写入的内容先写到缓冲区 # 当程序运行结束 自动写入 # 当文件关闭 自动写入 # 当缓冲区被写满 自动写入 # flush()刷新缓冲区 立即写入 f.flush() while True: pass
-
- r 读操作
-
f = open("user.txt","r",encoding="utf-8") # read() 读取全文 # content = f.read() # print(content) #readline() 读一行 contents = f.readline() print(contents) #readlines() 以行为单位读取全文 result = f.readlines() print(result) f.close()
-
- wb 二进制写入
-
f = open("user.txt","wb") str1 = "大金链子小手表" # encode() 对数据进行指定格式的编码 # f.write("大金链子小手表".encode("utf-8")) f.write(str1.encode("utf-8")) f.close()
-
- rb二进制读取
-
f = open("user.txt","rb") # decode() 对数据进行指定格式的解码 content = f.read().decode("utf-8") print(content)
-
- w 写权限 如果没有这个文件 自动创建一个 如果有这个文件 那么将会覆盖掉之前的内容。
with open()语法
with open("user.txt","a+") as f:
#此处的文件对象f 是一个局部变量
# tell() 告诉我们当前光标在什么位置
content = f.read()
print(f.tell())
f.seek(10,0)
print(f.tell())
result = f.readline()
#seek(offset,whence) whence代表参考位置 offset代表字节数
# whence = 0 以开头为参考位置
# whence = 1 以当前为参考位置 (3.x取消了此项功能)
# whence = 2 以结尾为参考位置 (3.x取消了此项功能)
print(result)