01.open() 和 close()
open()用来打开一个文件,返回一个文件对象:
- r 只读方式打开文件,默认方式。
- rb 二进制格式打开文件用于只读。
- rb+ 二进制格式打开文件用于读写。
- w 写入方式打开文件,执行操作:若此文件存在则打开文件,并从开头开始写入,这样原有内容会被删除。若该文件不存在,创建新文件从头写入。
- w+ 打开文件用来读写,操作与w相同。
- wb 二进制格式和写入方式打开文件,操作与w相同。
- a 打开文件用于追加。执行操作:若文件已存在,文件指针将会放在文件的结尾,若该文件不存在,创建新文件进行写入。
- a+ 打开文件用来读写,操作与a相同。
- ab 以二进制格式打开文件用于追加,操作与a相同。
- ab+ 以二进制格式打开文件用于追加,文件指针在文件末尾,操作与a相同。
f = open("excellent.txt", "r") #以只读的方式打开excellent.txt文件
f.close() #关闭已打开的文件
02.write() 、 read()和readline()
- write(string) string为要写入的内容字符串,将string写入到文件中去
- read(size) size为要读取的个数(size可以不写则读取全部) ,将读取到的内容返回显示
- readline() 从文件中读取单独的一行
f = open("excellent.txt", "w") # 以写入的方式打开excellent.txt文件
f.write("风吹着我向你跑来\n我期待 成为你的青睐")
f.close() # 关闭已打开的文件
print("【输出读取所有字符串】:")
f = open("excellent.txt", "r") # 以只读的方式打开excellent.txt文件
readAll = f.read()
print(readAll)
f.close()
print("【输出读取到指定长度6个字符】:", end="")
f = open("excellent.txt", "r")
readSize = f.read(6)
print(readSize)
f.close()
print("【输出读取单独一行】:", end="")
f = open("excellent.txt", "r")
readLine = f.readline()
print(readLine)
f.close()
运行结果
【输出读取所有字符串】:
风吹着我向你跑来
我期待 成为你的青睐
【输出读取到指定长度6个字符】:风吹着我向你
【输出读取单独一行】:风吹着我向你跑来
03.tell()和seek()
- tell() 返回文件对象当前所在的位置,从文件开头开始算起的字节数。
- seek() 如果要改变文件当前的位置, 可以使用 f.seek(number, position) 函数来改变,number为移动的字符个数,position有三个值:0表示从头开始,1表示当前位置,2表示文件末尾,position默认值为0.
f = open("excellent.txt", "w")
f.write("123456789JRs")
print("当前文件指针位置在第{}字节的位置.".format(f.tell()), end="")
f = open("excellent.txt", "rb+") # 以二进制的方式读取
print(f.read())
f.seek(4, 0) # 移动到文件的第4字节位置
print("f.seek(4, 0)当前文件指针位置在第{}字节的位置".format(f.tell()), end="")
print("读取字符【{}】".format(f.read(1)))
f.seek(3, 1) # 从当前位置后移3字节
print("f.seek(3, 1)当前文件指针位置在第{}字节的位置.".format(f.tell()))
f.seek(-3, 2) # 移动到文件的第-3字节位置
print("f.seek(-3, 2)当前文件指针位置在第{}字节的位置.".format(f.tell()))
运行结果
当前文件指针位置在第12字节的位置.b'123456789JRs'
f.seek(4, 0)当前文件指针位置在第4字节的位置读取字符【b'5'】
f.seek(3, 1)当前文件指针位置在第8字节的位置.
f.seek(-3, 2)当前文件指针位置在第9字节的位置.
【Moment】:风吹着我 向你跑来。