python文件读写

一、文件读写
文件读写,存取数据
    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)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值