精华内容
下载资源
问答
  • python文件读写操作
    千次阅读
    2022-04-13 15:00:34


    一、Python 文件读写概述

    Python 在文件读写操作中,会使用「内置函数」和「Pandas 库」两种方式。

    先来看内置函数,包括 open()、read()、readline()、readlines()、write()、writelines()、close() 等方法,也是接下来给大家详细介绍的内容。

    再看 Pandas 库,包括 read_csv()、to_csv()、read_excel()、to_excel()、read_json()、to_json() 等方法,我们后面讲到 Pandas 库的时候,再详细讲讲。

    在使用「内置函数」的时候,思路基本上是:
    1、打开文件
    2、开始「读」或者「写」的操作
    3、关闭文件

    二、使用 open() 打开文件

    Python 使用 open() 方法,可以根据指定文件名或标识符来打开文件。

    语法格式:

    file = open('filename.txt', mode = 'r')
    

    获取到的 file 是一个文件对象。

    Python 文件的打开模式,有如下几种,且可以组合使用:

    模式描述
    ‘r’以「只读」模式打开文件,如果指定文件不存在,则会报错,默认情况下文件指针指向文件开头
    ‘w’以「只写」模式打开文件,如果文件不存在,则根据 filename 创建相应的文件,如果文件已存在,则会覆盖原文件
    ‘a’以「追加」模式打开文件,如果文件已存在,文件指针会指向文件尾部,将内容追加在原文件后面,如果文件不存在,则会新建文件且写入内容
    ‘t’以「文本文件」模式打开文件
    ‘b’以「二进制」模式打开文件,主要用于打开图片、音频等非文本文件
    ‘+’打开文件并允许更新(可读可写),也就是说,使用参数 w+、a+ 也是可以读入文件的,在使用的时候,需要注意区别

    再告诉你一个秘密,我们在操作文件的时候,因为内容很多,所以我们前面学到的「循环」终于可以大派用场了,比如「for 循环」就会经常被使用到。

    案例代码:
    第一步,新建 hello.txt 文件,如下:

    当你慢慢调整了自己看待问题的角度,
    也提升了思考的深度,你竟然会发现,
    你所处在的「超一线城市」其实是一个「场」。
    
    在这个场域里头,你可以遇见无限的可能性,
    每一个维度都暗含大蓝海,都有大把的机会,
    你甚至运气爆棚,在某次从天而降的大机遇中,
    能迅速成长为自己可能完全没法想象的人。
    

    第二步,使用 for 循环读取文件,如下:

    # 打开 hello.txt 文件,指定「只读模式」
    hello = open('hello.txt', 'r')
    
    # 使用 for 循环,将读到的内容,打印出来
    num = 1
    for con in hello:
        print('第 %d 行:' % num, con)
        num += 1
    
    # 最后需要将文件关闭
    hello.close()
    

    第三步,改良,使用 read() 方法读取

    # 打开 hello.txt 文件,指定「只读模式」
    hello = open('hello.txt', 'r')
    
    # 使用 read()
    con = hello.read()
    
    # 打印
    print(con)
    
    # 最后需要将文件关闭
    hello.close()
    

    拓展:

    如果,我将上面的第二步和第三步,放在同一个文件中写,就会出现「文本文件指针复位」的问题。

    因为我们通过 for 循环,已经让「文本文件指针」从文件的开头读到文本末尾,已经把所有内容读取,此时指针在文末位置。

    如果说,再让程序执行 read() 方法,则会发现后面已经没有内容可读了,所以程序执行后,不会输出任何内容。

    解决办法,调用 seek() 方法,指定偏移量为 0,来将文本文件指针「复位」即可。

    你还可以通过 tell() 方法,获取文件指针的当前位置。如果此时文件指针在文末位置,获取到的其实就是整个文本的字节数,也相当是这个文件的大小了。

    # 打开 hello.txt 文件,指定「只读模式」
    hello = open('hello.txt', 'r')
    
    # 使用 for 循环,将读到的内容,打印出来
    num = 1
    for con in hello:
        print('第 %d 行:' % num, con)
        num += 1
    
    # 获取文件指针的位置
    print(hello.tell())
        
    # 将文本文件的指针,复位
    hello.seek(0)
    
    # 使用 read()
    con = hello.read()
    print("---- 使用 read() -----")
    
    print(con)
    
    # 最后需要将文件关闭
    hello.close()
    

    三、使用 read()、readline()、readlines() 读取数据

    当文件很大的时候,单纯使用 read() 方法就很难一次性读入内存中。

    可以使用 readline() 方法,从文中读取整行信息。

    案例代码:

    # 打开 hello.txt 文件,指定「只读模式」
    hello = open('hello.txt', 'r')
    
    # 使用 readline(),读取一行信息
    con = hello.readline()
    print(con)
    
    
    # 最后需要将文件关闭
    hello.close()
    

    但如果想读取所有行的信息,就需要使用 readlines() 方法了

    readlines() 和 read() 的区别,在于读取的「颗粒大小」,前者颗粒较大以行为单位,后者颗粒较小以字节为单位。

    案例代码:

    # 打开 hello.txt 文件,指定「只读模式」
    hello = open('hello.txt', 'r')
    
    # 使用 readlines(),读取全部信息
    con = hello.readlines()
    print(con)
    
    # 最后需要将文件关闭
    hello.close()
    

    另外,提醒一下,读写文件的时候,经常会出现一些 IOError 错误异常,建议写在 try…finally… 异常捕获块中,养成良好的编码习惯。

    比如,我们经常执行到最后,会忘记关闭文件,这就很可能会带来很多潜在的问题,可以在 finally 中,也就是程序最后会执行的部分,去关闭我们已打开的文件。

    案例代码:

    try:
        # 打开 hello.txt 文件,指定「只读模式」
        hello = open('helo.txt', 'r')
    
        # 使用 readlines(),读取全部信息
        con = hello.readlines()
        print(con)
    
    finally:
        print('出问题了')
        # 最后需要将文件关闭
        hello.close()
    

    四、使用 write()、writelines() 写入文件

    还有一种更好玩儿,可以用 with…as… 语句,它天生用来防止我们忘记关闭文件。

    当你引入 with 语句,它会在你访问完文件之后,根据上下文自动调用 close() 方法来关闭。

    语法格式:

    with expression as target :
        statements
    

    案例代码:

    with open('hello.txt') as hello :
        hello.write("I Love You")
    

    在上面的代码中,我们在打开文件的时候,指定了 ‘w’ 模式,启动了写的操作。而且还使用了一个 write() 方法,它是用来向文件中写入指定字符串的。

    在代码中操作的字符串内容,主要存储在缓冲区,我们在文件关闭前或缓冲区刷新前,可以将它写入文件。

    最后,用一下 writelines() 方法,将列表中的三行数据,写到文件中。

    案例代码:

    # 创建一个列表
    txtlist = ['Python 私教\n', 'Java 私教\n', 'C++ 私教\n']
    
    # 写入文件
    with open('hello.txt') as hello :
        hello.writelines(txtlist)
    

    最后

    我是帅帅,一个默默做了 7 年的 Java 编程、架构师成长教练。

    很喜欢罗曼·罗兰的一句话:“人最可贵之处在于看透生活的本质后,依然热爱生活 ”。

    愿我们一起,努力追寻本质,依然保持热爱。

    更多相关内容
  • 一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个...
  • python文件读写操作

    2018-12-22 21:49:18
    要求新建两个文件,file1、file2,要求打开file1文件,分别对每一行数字进行求和,并将每一行的结果写在file2中。
  • Python文件读写操作

    2022-05-12 13:01:24
    +:读写方式打开 3、读文件(读磁盘上的文件:磁盘上文件内容读取到程序中)用read() # 读磁盘上的文件 file=open("a.txt","r",encoding='utf-8') print(file.readline()) #读取一行 # print(file.readlines()) #...

    1、在这里插入图片描述
    2、

    • a:追加到末尾
    • b:二进制方式打开
    • w:覆盖原内容
    • +:读写方式打开

    在这里插入图片描述
    3、读文件(读磁盘上的文件:磁盘上文件内容读取到程序中)用read()

    # 读磁盘上的文件
    file=open("a.txt","r",encoding='utf-8')
    print(file.readline())  #读取一行
    # print(file.readlines())  #读取后放在一个列表中
    file.close()
    

    在这里插入图片描述
    4、写文件(往磁盘文件中写)用write()

    #写文件,往磁盘文件中写内容
    
    #1.  w 只写 如果文件存在则覆盖,不存在则创建
    file=open("b.txt","w")
    file.write("Python")
    file.close()
    # Python
    
    #2.  a 如果文件存在则在末尾追加,不存在则创建
    file=open("b.txt","a")
    file.write("Python")
    file.close()
    # PythonPython
    
    #3. b 二进制方式打开,不能单独使用,只能rb,rw  用在图片, 音频,文档等
    src_file=open('1.jpg','rb')
    target_file=open('copy1.jpg','wb') # 二进制只写方式打开
    target_file.write(src_file.read())
    target_file.close()
    src_file.close()
    

    在这里插入图片描述
    5、文件对象的常用方法

    • 中文:一个汉字占两个字节
    • 英文:一个字母占一个字节
      在这里插入图片描述
      代码:
    #1. 读磁盘上的文件
    file=open("a.txt","r",encoding='utf-8')
    # print(file.read())      # 一次性从头读到尾
    # print(file.read(5))     # 读取5个字节返回
    # print(file.readline())  # 读取一行
    # print(file.readlines())  #读取的每一行均放到 列表中,作为一个内容
    file.close()
    
    #2.写文件,往磁盘文件中写内容
    file=open("c.txt","a")  #a 表示追加至末尾
    # file.write("Hello")        # 内容追加至末尾
    # Hello
    # lst=["java","go","python"]
    # file.writelines(lst)      将列表追加至末尾
    # Hellojavagopython
    file.close()
    
    #2.1.tell()
    file=open("c.txt","r")  #r 表示读取
    file.seek(2)       #文件指针从下标2开始读
    print(file.read()) #读取
    # llojavagopython
    print(file.tell()) #返回文件指针当前位置
    # 17
    file.close() # 缓冲区没内容,所以只关闭文件
    
    #2.2flush()
    file=open("d.txt","a") #a 表示追加
    file.write("hello")  # 将字符串写入文件 先python文件先写到缓冲区中
    file.flush()     # 缓冲区内容 刷到 磁盘文件中,不关闭文件
    file.write("hello")  #又写到缓冲区,但没有刷到磁盘中
    file.close() # 缓冲区内容写到磁盘文件中,关闭文件
    """ 只能是 flush()+close()
    flush()之后可以继续写内容
    但是close()不能flush()
    """
    

    截图:
    在这里插入图片描述

    flush()详解:
    在这里插入图片描述

    展开全文
  • 本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法。分享给大家供大家参考。具体如下: python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼。 代码如下:...
  • 文件操作示例 复制代码 代码如下:#输入文件f = open(r’D:\Python27\pro\123.bak’) #输出文件fw = open(r’D:\Python27\pro\123e.bak’,’w’)#按行读出所有文本lines = f.readlines()num = -1for line in lines: ...
  • 本文实例讲述了Python常见读写文件操作。分享给大家供大家参考,具体如下: 读写文件 读写文件是最常见的IO操作,python内置了读写文件的函数,用法和c是兼容的. 读写文件前,我们必须了解一下,在磁盘上读写文件的功能...
  • python文件读写操作

    2022-06-24 10:17:11
    不知道大家是否跟我一样,总是分不清楚python里面对于读写操作,今天给自己重新总结一下。

    不知道大家是否跟我一样,总是分不清楚python里面对于读写操作,今天给自己重新总结一下。

    w+ 可以同时读写,如果文件不存在,则新建文件,写入时是清空之前的内容。

    a+可以同时读写,如果文件不存在,则新建文件,写入时是追加写入模式。

    r+ 可以同时读写,如果文件不存在,则报错,写入时是覆盖模式。

    具体操作如下:

     

     

     

    展开全文
  • 记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项。 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之后,下面开始...
  • 本文通过实例代码给大家介绍了Python 读写文件操作方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了Python txt文件常用读写操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • JSON和XML都是互联网上数据交换的主要载体。这篇文章主要介绍了JSON文件Python对JSON文件读写操作,需要的朋友可以参考下
  • Python文件读写操作

    2021-12-26 09:16:50
    文件读写操作一、文件概念二、打开文件与关闭文件(一)文件打开函数 - open()1、函数作用2、函数调用格式(二)文件关闭函数 - close()1、函数作用2、函数调用格式(三)文件刷新函数 - flush()1、函数作用2、函数...

    一、文件概念

    文件是操作系统管理和存储数据的一种方式。Python使用内置的文件对象来处理文件。
    在D:/python_work目录里创建lesson13目录,在该目录下创建一个文本文件 - test.txt
    在这里插入图片描述请添加图片描述

    二、打开文件与关闭文件

    (一)文件打开函数 - open()

    1、函数作用

    open()函数用于打开文件,返回一个文件对象。打开文件后,Python用一个文件指针指示当前读取位置。以a或w方式打开文件时,文件指针指向文件末尾;以r方式打开文件打开文件,文件指针指向文件开头。

    2、函数调用格式

    myfile = open(filename [, mode])
    参数1 - filename 文件名字符串
    参数2 - mode 文件读写模式
    在这里插入图片描述

    (二)文件关闭函数 - close()

    1、函数作用

    close()方法用于关闭文件。通常,Python会使用内存缓冲区缓存文件数据。关闭文件时,Python可将缓冲的数据写入文件,然后关闭文件,释放对文件的引用。当然,Python可自动关闭未使用的文件。

    2、函数调用格式

    • myfile.close()

    (三)文件刷新函数 - flush()

    1、函数作用

    flush()方法可将缓冲区内容写入文件,但不关闭文件。

    2、函数调用格式

    • myfile.flush()

    (四) 案例演示

    1、以只读方式(r )打开文件 - 默认方式

    • 打开d:\python_work\lesson13\test.txt
      请添加图片描述
    • 查看文件内容请添加图片描述
    • 关闭文件
      请添加图片描述
    • 删除文件变量
      请添加图片描述
    • 说明:以r方式打开文件,文件指针指向文件头(第一行)
      请添加图片描述

    以只写方式(w )打开文件

    • 以只写方式打开‘love.txt’文件
      请添加图片描述
    • 查看love.txt文件文件,却发现空空如也
      请添加图片描述
    • 调用文件的flush()方法,将缓冲区的数据写入到指定文件请添加图片描述
    • 查看文件,发现数据已写入
      请添加图片描述

    3、以追加方式(a )打开文件

    • 以追加方式打开“love.txt”(打开之前先关闭)
      请添加图片描述
    • 查看追加数据之后的文件内容请添加图片描述

    4、以可写可读方式(w+)打开文件

    请添加图片描述
    请添加图片描述

    展开全文
  • Python读写文件实际操作的五大步骤 一、打开文件 Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细...
  • 这篇文章主要介绍了Python csv文件读写操作实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python内置了csv模块,用它可以方便的操作csv文件。 1、...
  • 本文实例讲述了python读写配置文件操作。分享给大家供大家参考,具体如下: 在用编译型语言写程序的时候,很多时候用到配置文件,作为一个约定的规则,一般用 ini 文件作为配置文件,当然不是绝对的,也可能是XML等...
  • Python文件读写操作

    千次阅读 2019-05-18 18:28:34
    Python文件读写操作 工作中,对文件的读写是非常频繁的,不管是从文件中读取数据,还是将数据写到文件中,都很频繁。本文介绍Python中的文件读写操作方法。 一、文件打开与关闭方法 在python中,使用open函数,...
  • Python文件读写操作的源码。包括文本文件的操作、二进制文件的操作、CSV文件的操作。
  • Python中的读写不一定只是文件,还有可能是内存,所以下面实在内存中的读写操作 示例1: # -*- coding:utf-8 -*- #! python3 from io import StringIO f=StringIO() f.write('everything') f.write('is') f.write('...
  • 关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂。今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获。 一、核心功能 ‘r’:只读。该...
  • 本文实例讲述了Python打开文件、文件读写操作、with方式、文件常用函数。分享给大家供大家参考,具体如下: 打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,648
精华内容 46,259
关键字:

python文件读写操作

友情链接: 画画.zip