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()
    

      

  • 相关阅读:
    POJ 3624 Charm Bracelet 简单01背包
    POJ 1426 Find The Multiple BFS
    HDU 2612 Find a way BFS,防止超时是关键
    P3399 丝绸之路(线性二维dp)
    洛谷P1726 上白泽慧音(Tarjan强连通分量)
    codevs1557 热浪(堆优化dijkstra)
    P1462 通往奥格瑞玛的道路(二分答案+最短路)
    洛谷P1330 封锁阳光大学(二分图染色)
    洛谷P1341 无序字母对(欧拉回路)
    洛谷P1613 跑路(最短路+倍增)
  • 原文地址:https://www.cnblogs.com/xh4528/p/6497733.html
Copyright © 2011-2022 走看看