zoukankan      html  css  js  c++  java
  • 文件处理(记录经典代码及相关逻辑)

    操作:关于文本写入中的 r,w,a,b,+的操作    https://blog.csdn.net/qq_38059635/article/details/81606977

    1.文件写入关闭(注意操作程序目录地址)

    #简单文件写入程序 open write
    f= open('mytest1.txt','w')
    f.write('今天天气
    不错的
    ')#换行符  f.write('今天天气	不错的	')#加空格
    f.close()

    #列表元组文件写入 writelines
    f = open('列表文本写入.txt','w')
    list1 = ['ds','133','好天气']#这里必须是str,不能是int 
    f.writelines(list1)
    f.close()
    content:ds133好天气
    #加入空格或者换行
    f = open('列表文本写入.txt','w')
    list1 = ['ds
    ','133
    ','好天气
    ']#这里必须是str,不能是int 直接加上
    即可
    f.writelines(list1)
    f.close()
    #for循环将文本换行
    f = open('列表文本写入.txt','w')
    list1 = ['ds','133','好天气','dsa','利用','报复']#这里必须是str,不能是int
    for i in list1:
      f.write(i+'
    ')#字符串拼接
    f.close()
    #output:
      ds
      133
      好天气
      dsa
      利用
      报复
    #字典文件写入 writelines
    f = open('列表文本写入.txt','w')
    list1 = {'ds':'133','好天气':'dsa','利用':'报复'}#这里必须是str,不能是int
    for k,v in list1.items():
      f.write(k
    +' '+v+' ') f.close() #output:   ds 133   好天气 dsa   利用 报复

    2.关闭文件

    close(),使用try防止异常出现,而不导致文件不能正常关闭

    try:
        f = open('列表文本写入.txt','w')
        list1 = {'ds':'133','好天气':'dsa','利用':'报复'}#这里必须是str,不能是int
        for k,v in list1.items():
            f.write(k+'   '+v+'
    ')
    except Exception as ex:
        print('ex')
    finally:
        f.close()

    3.with连接上下文避免报错close

    with open('列表文本写入.txt','a')as f: #a原先基础上再写入,w只是写入会覆盖原先数据
        f.write('xoapjap')

    4.read、readline、readlines操作

    with open('列表文本写入.txt','r')as f: #a原先基础上再写入,w只是写入会覆盖原先数据
     '''简单理解:read是一个大的字符串 
            readline 读取一行是一个字小字符串
            readlines 读取所有行,并把行加到一个列表,最终结果是一个列表
    ''' a
    =f.readline() #读取一行内容作为结果返回。读取到文件末尾,会返回空字符串 print(a) b = f.readlines() #文本文件中,每一行作为一个字符串存入列表中,返回该列表 print(b) #read([size]) 从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。 读取到文件末尾,会返回空字符串。 for i in f.read(): print(i) #这里没有输出,因为前面的read 将指针停留在了最后,因此没有read

     5.二进制文件的读写_图片的拷贝

    #二进制文件读写拷贝 b模式 wb:可写的,重写二进制文件 ab:可写的,追加写入二进制文件 rb可读的二进制文件
    with open('3.jpg','rb')as f:
        with open('3_copy.jpg','wb') as w:
            for i in f.readlines():
                w.write(i)

    6.pickle模块的存储读取#pickle模块

    import pickle
    a1='boke'
    a2=135
    a3 = [1,2,3,'张三','da']
    with open('date.dat','wb') as f:
    
        pickle.dump(a1,f)
        pickle.dump(a2,f)
        pickle.dump(a3, f)
    with open('date.dat','rb') as f:
         b1= pickle.load(f);b2 =pickle.load(f);b3=pickle.load(f)
         print(b1);print(b2);print(b3)
    help('pickle.loads')

    '''使用pickle.load(f)加载pickle文件时,报错:EOFError: Ran out of input.
    可能原因:文件为空。
    解决办法:加载非空文件。
    '''

  • 相关阅读:
    使用Optioanl优雅的处理空值
    综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列
    Nginx 相关介绍
    在Intellij IDEA中使用Debug
    关于Spring的BeanUtils
    MySQL 索引总结
    java中值传递和引用传递
    SQL易错锦集
    Java和SQL取两个字符间的值
    好文章收藏--五分钟理解一致性哈希算法(consistent hashing)
  • 原文地址:https://www.cnblogs.com/yescarf/p/12659368.html
Copyright © 2011-2022 走看看