• 从零开始的Python学习Episode 7——文件基本操作


    文件基本操作

    一、打开文件

    f = open('11','r')#open('file path','mode')
    

      创建一个文件对象

    文件有多种打开模式:

    1. 'r':新建一个文件对象以只读方式打开文件。读文件的指针将会放在文件的开头。

    f = open('11','r')#open('file path',mode')
    data = f.read()
    print(data)
    f.close() #输出123456789

    2.‘w’:新建一个只用于写文件的文件对象

    f = open('11','w')
    f.write('12345')
    f.close() #文件中内容会变成12345

      如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件并写入内容。

    3. 'a': 新建一个只用于追加内容的文件对象。

    f = open('11','a')
    f.write('
    12345655')
    f.close()
    

      文件的末尾会加上要输入的内容。 

      如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    4. 'r+': 新建一个只用于读写的文件对象。文件指针将会放在文件的开头,但写入内容会写到文件内容末尾。

    f = open('11', 'r+')
    a = f.readline()
    f.write('789')
    print(a)
    f.close() #输出123 #文件末尾加上了789

    5.'w+':新建一个只用于读写的文件对象。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    6. 'a+': 新建一个只用于读写的文件对象。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。读文件时从文件内容的末尾读,因为文件指针放在文件的结尾。

    二、内置方法

    1. readline()

    f = open('11','r')
    print(f.readline())
    f.close()
    #文件内容:
    #123
    #1234
    #12345
    #123456
    #输出:123
    

      按行输出。每调用一次输出一行。

    2. readlines()

    f = open('11','r')
    print(f.readlines())
    f.close()
    #输出['123
    ', '1234
    ', '12345
    ', '123456']
    

      输出所有行,以列表形式返回。

    3.flush()方法

      可以用来刷新缓冲区,将缓冲区中的数据立刻写入文件,同时清空缓冲区,不用被动地等待输出缓冲区写入。一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。例如:进度条

    import sys,time
    for i in range(30):
        sys.stdout.write('*')
        sys.stdout.flush()
        time.sleep(0.1)
    

     

    4.truncate()方法

    f = open('11', 'a')
    f.truncate(2)
    #文件内容
    #123
    #1234
    #12345
    #123456
    #输出12
    

      用于截断文件,如果指定了可选参数 size,则表示保留前size 个字节,删除 size 后面的所有字符。 如果没有指定 size,则从当前位置起截断。

    5.seek()方法

    seek(offset ,whence) 方法改变当前文件的位置。

    offset变量表示要移动的字节数。whence变量表示要从哪个位置开始偏移.

    如果whence被设为0,表示将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

    6.with 关键字

    with open('11','r') as f:
        a = f.readline()
    print(a)
    

      使用了with之后,可以不用写close(),默认在with语句执行完之后关闭文件。

    7.tell() 方法

    返回文件的当前位置,即文件指针当前位置。

    with open('11','r+') as f:
        a = f.readline(1)
        print(a)
        print(f.tell())
    

      

  • 相关阅读:
    语音信号端点检测
    WEBPACK & BABEL 打包项目
    使用 Qt 获取 UDP 数据并显示成图片(2)
    QSS为Qt程序添加不一样的样式
    window 搜索大文件
    Idea java 编译发生 cannot find symbol
    JetBeans Tab键相关设置
    JetBean Rider 重命名 c# 程序集名
    Unity 导入其他工程
    列出当前文件夹下的以log结尾的文件名
  • 原文地址:https://www.cnblogs.com/smilepup-hhr/p/9691769.html
Copyright © 2020-2023  润新知