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

    文件操作

    什么是文件?

    操作系统提供给用户操作复杂硬件(硬盘)的简易的接口

     

    为什么操作文件

    人或者应用程序需要永久的保存数据

     

    如何调用文件(这里调用同目录下的a.txt):

    f = open(r'a.txt',mode='r',encoding='utf-8')
    f.close()
    #关闭文件,但如果with的方式就可以不用这个,
    with open(r'a.txt','r+',encoding='utf-8') as f:
    
    # 这个和f = open(r'a.txt',mode='r',encoding='utf-8') 效果是一样的,只不过这个不需要用.close()去关闭文件,它会自动关闭

    其他用法:

    with open(r'a.txt',encoding='utf-8') as f1 ,
    open(r'b.txt',encoding='utf-8') as f2:

     

     

    涉及方法:

     

    f.open() #打开文件,f为任意(下同)
    
    f.close() #关闭文件
    
    f.flush() #刷新输出缓存
    
    f.read() #读取文件可再扩号中加入数字,代表读取几个字符(b模式就是读取几个byte),
    
    f.readline() #读取文件(一次一行)
    
    f.readline() #读取文件,(一次行)
    
    f.write() #将写入文件
    
    f.seek(0) #将文件指针回到开头(0)数字代表第几个而不是第几行(r+写入不受控制)
    
    .seek(0,2) #移动到末尾,(其中0表示第几个,2代表偏移量)
    
    偏移量(光标所在点):
    
    0(默认,表示文件开头) #
    
    1(代表当前位置) # 只能在b模式下使用
    
    2(代表末尾) # 只能在b模式下使用
    
    f.tell() #获取文件指针的位置
    
    f.truncate() #从文件开头截断到光标位置,后面的都丢弃,如果给了()参数那么就 是从头截断到参数位置
    
    .readable() #判断是否可读
    
    .writable() #判断是否可写

     

    模式(mode)

    r,w,a,rb,wb,ab,r+,w+,a+,r+b,w+b,a+b

    r:(读)

    # 将文本类文件读出来(需要指定encoding='utf-8')

    # 如果文件不存在那么就会报错

    r+: (读加写)

    # 既可以读,也可以写,不会清楚文件

    # 如果文件不存在那么就会报错

    rb:(读,二进制)

    # 将某个文件的二进制读出来(不能指定encoding)

    # 如果文件不存在那么就会报错

    w:(写)

    # 只能写不能读

    # 将文本写入文件(需要指定encoding='utf-8')

    # 如果文件不存在那么就会创建

    # 它会将文件清楚

     

    w+:(写加读)

    # 既可以读也可以写

    # 如果文件不存在那么就会创建

    # 它会将文件清楚

    a:(追加)

    # 追加,只能写,不能读

    # 如果文件不存在那么就会创建

    # 它不会将文件清楚

    a+

    # 能写,能读

    # 如果文件不存在那么就会创建

    # 它不会将文件清楚

  • 相关阅读:
    ASIHTTPREQUEST 文档
    本地通知
    ASIHttpRequest 使用过程中,中文编码的问题
    讲讲最近自己的学习,谈谈未来的想法
    关于 ASP.NET MVC 4 如果管理用户
    [转贴]超级懒汉编写的基于.NET的微信SDK
    [转贴]实践:C++平台迁移以及如何用C#做C++包装层
    [转贴]Linq之动态查询
    [转贴]watin的一些例子
    [转贴]xcode帮助文档
  • 原文地址:https://www.cnblogs.com/pscly/p/11154034.html
Copyright © 2011-2022 走看看