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

      

  • 相关阅读:
    数独
    面向对象程序设计课第七次作业
    面向对象程序设计课第六次作业
    软件工程课总结
    第四次作业:四则运算界面
    psp记录个人项目花费时间
    作业三:代码规范,代码复查
    编写一个能生成小学四则运算题目的运算
    目前流行的源程序版本管理软件和项目管理软件有哪些?有什么优缺点
    课程进度总结
  • 原文地址:https://www.cnblogs.com/xh4528/p/6497733.html
Copyright © 2011-2022 走看看