前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Python操作文件?

如何使用Python操作文件?

作者头像
极简小课
发布2022-06-21 18:31:04
1.4K0
发布2022-06-21 18:31:04
举报
文章被收录于专栏:极简小课极简小课

文件读写是最基本和常用的操作,本篇文章主要介绍利用Python来实现对文件的读写,实现自动化操作文件。

Python提供open函数来实现文件的读写,任何时候都可以对文件进行操作。我们先来解释下open函数的用法,然后再写几个实现文件读和写的例子。

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

Python也提供自动关闭文件的方法, 在open前使用with, 就不需要再去调用close方法。我们一般就使用这种方法,比如:

代码语言:javascript
复制
with open("file_name.txt", "r") as fr:
    pass

只需要对打开的文件对象fr进行操作,不需要去考虑在什么时候close文件。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。比如:

代码语言:javascript
复制
with open(file, mode='r') as fr:
    pass

我们这里介绍几个常用参数:

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

w

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

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

使用open函数打开的file对象我们可以进行读写,下面介绍几个读写函数:

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。

file.write(str)

将字符串写入文件,返回的是写入的字符长度。

下面来看看如何用python代码实现文件的读取.

1. 使用read()一次性读出文件内容。

代码语言:javascript
复制
def read_file(file_name):
    """
    读取文件,返回文件内容
    """

    with open(file_name, "r", encoding="utf-8") as fr:
        contents = fr.read()
    return contents

2. 使用readlines()读取所有行并返回列表,列表的每一个元素对应文件每一行内容

代码语言:javascript
复制
def read_file_by_lines(file_name):
    """
    按行读取文件,返回文件的每行字符串列表
    """

    with open(file_name, "r", encoding="utf-8") as fr:
        content_lines = fr.readlines()
    return content_lines

接下来看看如何使用Python代码实现文件的写入:

代码语言:javascript
复制
def save_file(file_name, contents):
    """
    将contents内容保存在对应的file_name文件
    """

    with open(file_name, "w", encoding="utf-8") as fw:
        fw.write(contents)

实战:

代码语言:javascript
复制
if __name__ == "__main__":

    content_str = "I love python, I am studying python file operate"
    files_name = "file_operation.txt"
    
    # 把content_str写入文件file_operation.txt
    save_file(files_name, content_str)
    
    # 读取文件,返回字符串
    content = read_file(files_name)
    print(content)
    
    # 按行读取文件,返回每行字符串的列表
    content_list = read_file_by_lines(files_name)
    print(content_list)
代码语言:javascript
复制
执行结果
I love python, I am studying python file operate
['I love python, I am studying python file operate']

扩展:

文件的读写有很多种模式,可以根据自己的需求来设置模式,但上面介绍的是最基本的读写,掌握了后,其他模式也是一样的。

open打开的file对象,除了上面介绍的三个函数外,还有其他函数可以用,有兴趣的可以去查一下,掌握了上面三个基本的用法,其他的都很简单,举一反三。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-17,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 极简小课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com