一、文件读写 文件读写,存取数据 1.打开文件 只读/只写/读写模式打开 2.读写seek(整数)设置光标的位置,默认是0 读:文件必须存在 read()全读 read(整数)整数个字符包括回车 readline():读取文件一行数据 readline(整数):只读取当前这一行整数个数据无论整数大小 readlines():读取所有的数据,并将每一行的数据(包括回车符)放到列表中 写:文件不存在会自动创建 覆盖:覆盖打开之前的数据,打开之后不覆盖(open和close操作一次完整的操作不会覆盖) write(str):只能说字符串类型的数据 writelines(distrable):可是字符串也可以是可迭代的数据,多条数据 追加:append模式 在文件内容后面追加新的内容 3.关闭文件close(): 文件关闭就不能进行读写操作了,close()关闭文件会刷新缓冲区 注意:写操作"w"模式只能写字符串,其他类型需要引入pickle模块进行序列化(dump())为字节("wb")进行文件的存储
二、缓存区刷新 文件的写操作不是直接针对文件,而是先写入缓存区,然后再刷新缓存区会立刻将数据写入文件中 1.手动刷新flush() 2.自动刷新close(): 在关闭文件时会自动刷新缓冲区 3.缓存区溢出: 当缓冲区溢出时会将数据写入文件 三、读写模式 r:只读 文件读必须存在该文件,否在会报错 rb:二进制的只读 r+:读和写 有问题,不要用 w:只写 文件不存在会自动创建文件,文件原内容会被覆盖 wb:二进制的只写 w+:读和写 有问题,不要用 a(append):只写 文件不存在会自动创建文件,在原内容后面追加 a+:读和写 有问题,不要用
# 读
path2=r"C:\Users\Desktop\修改文件夹/1.txt"
# f=open(path2,"r")#model默认就是"r"
# #读取文件所有内容
# print(f.read())
# #读取文件中前几个字符
# str1 = f.read(2)
# while str1!="":
# print(str1,end="")
# str1=f.read(2)
# # #读取文件中一行内容
# str2= f.readline()
# while str2 != "":
# print(str2)
# str2= f.readline()
# #读取一行中的两个字符
# print(f.readline(2))
# f.close()
# 写
file = r"C:\Users\Desktop\修改文件夹/1.txt"
#覆盖原内容
f2=open(file,"w")
#在内容后面追加
# f2=open(file,"a")
f2.write("张三")
f2.write("18")
f2.close()
'''
9.遍历目录
获取某个目录下所有的文件
'''
# path2 = input("请输入你想访问的目录或磁盘:")
# def findFile(path2):
# fileList = os.listdir(path2)
# for i in fileList:
# file = os.path.join(path2, i).replace("\\",r"/")
# if os.path.isfile(file):
# print("是文件",file,"文件名:",os.path.split(file)[1],"文件类型:",os.path.splitext(file)[1])
# else:
# findFile(file)
# findFile(path2)