• python基础学习文件内容的操作


    使用python对文件内容增删改查
    首先要使用方法open打开需要操作的文件。
    open( 文件路径 , 打开模式 , 编码方式 )
    第一个参数填写要打开的文件路径和文件名,第二个参数告诉函数以什么模式来打开文件(比如 只读,只写,读写等,最后一个参数填写需要用什么编码格式来读取内容(encoding="utf-8")
    open函数打开文件后会在内存中产生一个该文件的句柄。
    文件句柄
    在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。
    文件打开模式:
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    读取一个文件的方法:
    read()方法:将整个文件所有内容一次性读取到内存中,在进行操作
    f = open('a.txt','r','encoding="utf-8"')
    text = f.read()

    readline()方法:只读取一行文件,第一次读取第一行,第二次读取第二行,以此类推,可以用for循环出整篇文章
    f = open('a.txt','r','encoding="utf-8"')
    for i in range(20): #读取文件前十行
    print(f.readline())
    readlines()方法:将文本读取为列表模式,每行文本为列表的一个值

    上面的几种方法都是将整个文件内容全都读取到内存中操作,所以会占用大量的内存,我们在读取大容量文件时应该使用下面的方法:
    f = open(‘a.txt’,'r',"utf-8")
    for line in f:
    print(line)
    f.close()
    这种方法的好处是永远在内存中只保留一行的文本,这样做就大量的降低了内存使用
    写入文件:
    write()方法:对一个文件进行写入操作
    writelines()方法:用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 。
    操作完成,关闭文件
    f.close()方法在对文件进行操作后,用来关闭文件

    文件句柄的操作
    f.tell() 返回当前的文件光标位置
    f.seek() 指定文件光标位置(如设备文件tty是不能移动文件光标位置的)
    f.seekable() 判断文件是否可以移动文件光标位置
    f.encoding() 打印文件的编码格式
    f.name() 打印文件名
    f.isatty()打印一个终端设备
    f.readable() 判断一个文件是否可读取
    f.writeable() 判断一个文件是否可写入
    f.flush() 强制刷新,直接将文件操作写入硬盘(不等待缓存序列)

    经常忘记关闭文件,使用with语句来自动关闭文件;
    语句格式: with open(文件1) as f1, open(文件2) as f2:
    print(f1.read())
    print(f2.read)
    可以同时使用open方法打开多个文件进行操作,语句结束时自动关闭打开文件

  • 相关阅读:
    使用批处理bat作为日期系统日期的前三天
    电脑桌面显示倒退
    BZOJ 2648/2716(SJY把件-KD_Tree)[Template:KD_Tree]
    yii使用寻呼功能
    宝付额度
    vs2010旗舰版产品密钥
    考察网贷平台是否正规,仅供参考。
    sql server 修改字段大小
    帕累托分析法
    帕累托分析法(Pareto Analysis)(柏拉图分析)
  • 原文地址:https://www.cnblogs.com/uyahs/p/7715247.html
Copyright © 2020-2023  润新知