python文件处理–文件读写详解

Python文件处理--文件读写详解

在Python中,文件是一种常见的数据交互方式。本文将详细讲解Python文件读写,包括:

  • 打开/关闭文件
  • 读取文件内容
  • 写入文件内容
  • 追加文件内容
  • 读写文件的不同模式

打开/关闭文件

打开文件

在Python中,打开文件有两种方式:使用内置函数open()和使用Python标准库中的pathlib模块。这里我们着重介绍open()

open()函数有两个必要的参数:文件名和模式。文件名是指要访问的文件名(可以是全路径或简单命名),而模式则控制着文件的读写方式。

# 打开文件
f = open('example.txt', 'r')

关闭文件

当我们完成对文件的读写操作时,最好将其关闭。这可以通过close()函数来实现。

# 关闭文件
f.close()

一般来说,你应该总是在你完成文件操作后关闭文件,因为这么做可以:

  • 释放系统资源
  • 防止文件被其他程序或进程修改

读取文件内容

Python提供了多种方法来读取文件中的内容,包括:

  • read():一次性读取整个文件
  • readline():读取文件中的单行数据
  • readlines():读取文件中的所有行
  • 迭代器:通过逐行读取文件内容来访问文件

以下代码展示了如何使用read()函数来读取文件内容。

f = open('example.txt', 'r')
content = f.read()
print(content)
f.close()

以上代码使用read()函数将整个文件读入内存中,并将文件内容保存在变量content中。

写入文件内容

使用open()函数打开文件时,还可以指定模式为w,表示写入文件。这时就可以使用write()函数来向文件中写入内容。

f = open('example.txt', 'w')
f.write('Hello World!')
f.close()

以上代码创建了一个新的文件example.txt,并向其中写入了字符串"Hello World!"

追加文件内容

在向文件中写入内容时,我们可以使用w模式来覆盖原有内容,也可以使用a模式来追加内容。

f = open('example.txt', 'a')
f.write('Python is awesome!')
f.close()

以上代码在文件末尾追加了字符串"Python is awesome!"

读写文件的不同模式

除了读取和写入模式外,open()函数还接受以下模式参数:

  • r+:打开文件进行读写
  • w+:打开文件进行读写,如果文件不存在则创建
  • a+:在文件末尾追加内容并进行读写,如果文件不存在则创建

以下代码演示了如何以r+模式打开文件、读取和修改内容。

f = open('example.txt', 'r+')
content = f.read()
f.seek(0)  # 将读取指针移动到文件开头
f.write('Python is awesome!\n' + content)
f.close()

以上代码读取文件内容并在文件开头插入字符串"Python is awesome!\n"

示例说明

示例1:读取网站HTML代码

我们可以使用Python打开一个网站,读取其HTML代码并进行解析和处理,这就需要使用文件读取操作。

import urllib.request

url = 'https://www.baidu.com'
f = urllib.request.urlopen(url)
html = f.read()

# 将HTML代码写入文件
with open('baidu.html', 'wb') as file:
    file.write(html)

以上代码打开URL地址,读取其中的HTML代码,并将其写入文件baidu.html中。

示例2:按行读取CSV文件

在数据分析、机器学习等领域中,我们需要经常处理CSV格式的数据。以下的示例代码演示了如何使用Python读取CSV文件,并进行简单的处理。

with open('data.csv', 'r') as file:
    for line in file:
        data = line.strip().split(',')
        print(data)

以上代码使用with语句打开文件data.csv,然后使用for循环逐行读取其中的内容。每一行的数据都被用逗号分隔,并将其存储在名为data的列表中。最后,这些数据被输出到控制台上。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python文件处理–文件读写详解 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • 工匠回忆(一)

    不久之前看过《python工匠》,腾讯大佬朱磊写的,后来一段时间零零散散也会翻开看看,强烈推荐!!! 1、变量注释   变量与注释是最接近自然语言的东西,把变量与注释搞好,同样一段代码,却带来两种截然不同的体验   1.1、变量开辟的必要性   1.2、变量注意靠近使用   1.3、注意变量描述性要强、同时注意其长度   1.4、变量的命名要突出类型   1…

    python 2023年5月4日
    00
  • Python中list列表添加元素的3种方法总结

    在Python中,列表(list)是一种常用的数据类型,它可以存储多个元素,而且列表的长度是动态的,可以随时添加或删除元素。本文将详细讲解Python中list列表添加元素的3种方法,并提供多个示例说明。 方法一:使用append()方法向列表末尾添加元素 append()方法是Python中最常用的向列表末尾添加元素的方法,它可以接受一个参数,将其添加到列…

    python 2023年5月13日
    00
  • pandas如何使用列表和字典创建 Series

    使用pandas创建Series时,可以使用列表和字典两种方式。 使用列表创建Series 使用列表创建Series的语法如下: import pandas as pd data = [1, 2, 3, 4, 5] s = pd.Series(data) print(s) 输出结果如下: 0 1 1 2 2 3 3 4 4 5 dtype: int64 首先…

    python 2023年5月13日
    00
  • 解决pytorch 的state_dict()拷贝问题

    PyTorch的state_dict()提供了一个方便的方式来保存训练模型的参数,同时也允许在不同的模型之间的参数拷贝。但是,当涉及到GPU-CPU或者多GPU操作时,拷贝state_dict()会遇到一些问题。以下是解决PyTorch的state_dict()拷贝问题的完整攻略: 问题概述 在GPU/CPU之间拷贝state_dict()的过程中,会有一些…

    python 2023年5月13日
    00
  • python 公共方法汇总解析

    在Python中,有许多内置的公共方法可以用于各种任务。在本攻略中,我们将介绍一些常用的Python公共方法,并提供示例代码来演示如何使用它们。 1. range() range()方法用于生成一个整数序列。以下是一个示例代码: # 生成一个整数序列 for i in range(5): print(i) 在上面的代码中,我们使用range()方法生成一个整…

    python 2023年5月15日
    00
  • python子线程退出及线程退出控制的代码

    下面是详细讲解“Python子线程退出及线程退出控制的代码”的完整攻略: 一、线程退出的几种方式 在Python中,有四种常见的线程退出方式: 标志位方式 这种方式是在子线程函数中设置一个变量(一般为flag标志位),通过修改这个变量的值来控制子线程的运行。当flag变为True时,子线程就主动退出运行。例如: import threading import…

    python 2023年5月19日
    00
  • Python统计节假日剩余天数的脚本

    下面将为你详细讲解如何编写一个Python统计节假日剩余天数的脚本。 1. 确定需要的库 我们需要用到date、dateutil、datetime这三个库。date库用来处理日期,dateutil库用来解决日期假期计算的问题。datetime库用来处理时间。 from datetime import datetime from datetime import…

    python 2023年6月2日
    00
  • python实现TF-IDF算法解析

    Python实现TF-IDF算法解析 什么是TF-IDF算法? TF-IDF算法是一种用于信息检索和文本挖掘的常用算法,全称为Term Frequency-Inverse Document Frequency(词频-逆文档频率),是一种统计方法。TF-IDF是根据一个词在文本中出现的频率以及在文档集中出现的频率来计算该词的权重。它的主要思想是:一个词在一篇文…

    python 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部