zoukankan      html  css  js  c++  java
  • OPEN文件操作

     
    #'w':只写,不能读(文件不存在会创建,存在会先删除原始内容)
    #'r':只读,不能写
    #'a':追加,可写,不能读(文件不存在会创建,存在则追加内容)
    #'r+':可读,可写,可追加
    #'w+':写读,先写后读(文件存在会先删除原始内容)
    #'a+':同'a'
    #'rU':读取时,将
     
     
     转换成
    ,功能同'r'
    #'r+U':读取时,将
     
     
     转换成
    ,功能同'r+'
    #'rb':读取二进制文件,功能同'r'
    #'wb':写二进制文件,功能同'w'
    #'ab':追加二进制,功能同'a'
    
    # 文件打开,返回文件对象,可以指定文件编码 encoding='utf-8'
    f = open('file.txt', 'r+')
    # 是否可写
    if f.writable():
        # 保留指针之前的数据,并删除指针之后的数据
        # f.seek(5)
        #print(f.truncate(), 'truncate')
        
        # 写数据,需要可写权限
        f.write('1
    2
    3
    4
    5
    6
    7
    ')
    
        # 文件描述符
    print(f.fileno(), 'fileno')
    
    # 是否tty设备
    print(f.isatty(), 'isatty')
    
    # 是否可读
    if f.readable():
        # 读取指针之后的数据,换行以
    代替(需要带r模式),可以指定读取多少字符,为空读取所有
        # print(f.read(),'read')
    
        # 读取指针之后的数据,按换行符分割成序列,可以指定读多少行,为空读取所有
        #print(f.readlines(2), 'readlines')
    
        # 移动指针到指定位置(字节)
        f.seek(0)
    
        # 查看当前指针位置
        # (read到哪,指针就到哪,下次再read,从指针处开始,如果指针都最尾部,则不能继续read,需要通过seek移动指针到可读位置)
        # 读取时
    =1个字符,指针移动时=2个字节
        r = f.read(1)
        print(f.tell(), r, 'tell')
        r = f.read(2)
        print(f.tell(),  r, 'tell')
    
    
    
    
    
    # 刷新文件内部缓冲区(write是写到文件内部缓冲区,但没有刷新,只有flush或者close后,文件的实际内容才改变)
    f.flush()
    
    
    # 文件关闭
    f.close()
    
    
    exit()
    

      

  • 相关阅读:
    使用rem来开发你的移动端网站
    在网页布局中合理使用inline formating context(IFC)
    构建OLAP CDP平台 Maven父子项目
    2014世界杯决赛观后感
    2013岁末总结
    11月11日上班杂谈
    这一年
    湖南联通发福利了C#为你月赚150M流量回家过年不再愁
    C# 实现对接电信交费易自动缴费 续(winio/winring0 自动填密码)
    C# 实现对接电信交费易自动缴费
  • 原文地址:https://www.cnblogs.com/xh4528/p/6497733.html
Copyright © 2011-2022 走看看