zoukankan      html  css  js  c++  java
  • 文件的读写

    文件的最基本读写方式

     1 f=open('小重山','r',encoding='utf8')
     2 date=f.read(5)                         #
     3 print(date)
     4 f.close()
     5 
     6 import time
     7 f=open('小重山2','a',encoding='utf8')
     8 
     9 date=f.write('
     hello cindy.
    ')
    10 date=f.write('im so young')
    11 
    12 time.sleep(2)
    13 f.close()

    #注意 如果用这种方式打开的文件 一定要使用close()方法关闭文本 虽然python一般情况下会自动关闭文档

    Read的一些方法

     1 f1=open('小重山','r',encoding='utf8')
     2 for i in f1:
     3     print(i.strip())                    #迭代器 最优的打印方式 打印一次(很可能是一行)释放一次 然后再取下一次
     4 
     5 f2=open('小重山','r',encoding='utf8')
     6 print(f2.tell())
     7 print(f2.read(5))
     8 print(f2.tell())                        #tell 告诉当前光标所在的位置 当然 如果内容是中文的话 那么一个中文就占3个字符 与编码有关
     9 
    10 f2.seek(0)                              #自定义光标的位置
    11 print(f2.read(4))

    Wirte的一些方法

    import  sys,time
    for i in range(50):
        sys.stdout.write("#")               #sys.stdout 这是一个终端操作 在终端上显示
        sys.stdout.flush()                  #flush实时写入硬盘
        time.sleep(0.01)
    
    f3=open('小重山3','a',encoding='utf8')
    f3.write("im good very good 
    千里江陵一日还
    两岸猿声啼不住
    轻舟已过万重山
    ")
    f3.truncate(15)                         #数据截断 比如ftp重传 可以截断你需要截断的位置
    f3.close()

    r+ w+ a+

     1 #r+,w+,a+
     2 f3=open('小重山3','r+',encoding='utf8')    #r+模式 可读可写 从第一个字符开始读 写是在最后写
     3 print(f3.readline())
     4 f3.write('cindy')
     5 f3.close()
     6 
     7 
     8 f4=open('小重山4','w+',encoding='utf8')      #w+先刷新(清空文件) 后再写
     9 print(f4.readline())
    10 f4.write("cindy")
    11 print(f4.tell())
    12 f4.seek(0)
    13 print(f4.readline())
    14 f4.close()
    15 
    16 
    17 f5=open('小重山5','a+',encoding='utf8')        #a+从最后一个字符开始读 可读可写
    18 print(f5.tell())
    19 print(f5.readline())
    20 f5.write("hello")
    21 print(f5.tell())
    22 print(f5.readline())
    23 f5.close()
    24 
    25 
    26 终极问题
    27 f=open('小重山','r+',encoding='utf8')
    28 num=0
    29 for i in f:
    30     num +=1
    31     if num ==6:
    32         f.write('cindy')                        #write操作说明  写从来都是从最后开始写的 跟读所在的指针位置无关 这是一种存储机制
    33 
    34 
    35 f=open('小重山','r',encoding='utf8')
    36 temp=open('temp','w',encoding='utf8')
    37 num=0
    38 for i in f:
    39     num+=1
    40     if num ==6:
    41         i=''.join([i.strip(),'cindy
    '])
    42     temp.write(i)
    43 
    44 f.close()
    45 temp.close()

    with同时管理多个对象

    1 with open('log','r') as a,open('log2','w') as f:
    2     for i in a:
    3         f.write(i)
  • 相关阅读:
    css 中calc无效属性值问题
    Junit4 java.lang.Exception: No runnable methods
    javascript 中如何判断是否是JSON格式的字符串
    mybatis 主键UUID生成策略
    过滤器中获取返回信息
    拦截器过滤器以及serverRequest
    Controller中返回数据总结(ResponseEntity,@ResponseBody,@ResponseStatus)
    关于spring cloud接口参数的注意事项
    打印控件lodoop
    window查询端口和进程使用情况
  • 原文地址:https://www.cnblogs.com/cindy7/p/10927809.html
Copyright © 2011-2022 走看看