菜鸟笔记-python-文件操作

目录

简介

1.文件的编码

        (1)UTF-8

        (2)GBK

        (3)其他编码方式

2.文件的读取

        (1)逐行读取

        (2)读取所有内容

        (3)读取所有行

3.文件的写入

4.文件的追加

5.文件的操作合集

(1)创建和写入文件

(2)读取文件

(3)追加到文件

(4)遍历文件内容

(5)使用csv文件格式


简介

  Python 文件操作是指在 Python 中打开、读写和关闭文件的过程,是进行文件 IO 操作的必要手段之一。

  文件 IO 是计算机编程中常用的操作之一,我们可以通过文件 IO 实现读取数据、保存数据、备份数据等功能。在 Python 中,可以使用内置的 open() 函数来打开一个文件,并返回一个文件对象。

1.文件的编码

  文件编码指的是将文本数据转换为字节数据(或二进制数据)时使用的字符集编码方式。由于不同的字符集可以用不同的编码方式表示相同的文本内容,所以正确的文件编码对于文件的读取和处理非常重要。

Python 默认的文件编码方式是 ASCII 编码,但是在实际应用场景中,我们通常需要处理包含中文等非 ASCII 字符的文件,因此需要指定适当的文件编码方式,以保证文件能够被正确地读取或写入。常见的文件编码方式有以下几种:

        (1)UTF-8

UTF-8 是一种针对 Unicode 的可变长度字符编码方式,支持所有的 Unicode 字符,并且在互联网上广泛使用。在 Python 中使用 UTF-8 编码方式读写文件时,应该使用 "utf-8" 或 "utf8" 作为编码格式。

例如,在使用 open() 函数打开一个 UTF-8 编码的文件时,应该这样写:

file = open("test.txt", encoding="utf-8")

 

        (2)GBK

GBK 是国家标准 GB2312-1980 的扩展版本,它是一种对中文优化的字符编码方式,在中国大陆广泛使用。在 Python 中使用 GBK 编码方式读写文件时,应该使用 "gbk" 作为编码格式。

例如,在使用 open() 函数打开一个 GBK 编码的文件时,应该这样写:

file = open("test.txt", encoding="gbk")

 

        (3)其他编码方式

除了 UTF-8 和 GBK 之外,还有一些其他的编码方式也被广泛使用,比如 Big5(繁体中文)、Shift-JIS(日语)、EUC-KR(朝鲜语)等。在 Python 中使用其他编码方式读写文件时,需要根据具体情况指定相应的字符集编码方式。

  总之,在进行文件操作时,不同的文件应该选用适合自己的编码方式,并且在读写文件时要指定正确的编码格式,以避免因编码问题而产生的错误。

2.文件的读取

  在 Python 中,使用内置的 open() 函数可以打开一个文件并返回一个文件对象,然后通过调用文件对象的方法来读取文件内容。常用的文件读取方式有以下几种:

 

        (1)逐行读取

 

最基本的文件读取方式是逐行读取,即一次读取文件的一行内容。使用文件对象的 readline() 方法可以实现逐行读取文件。

例如,下面的代码演示了如何逐行读取一个名为 "test.txt" 的文本文件,并将每一行打印出来:

with open("test.txt", "r") as f:
 line = f.readline()
 while line:
     print(line.strip()) # 去除行尾的换行符 
     line = f.readline()

 

        (2)读取所有内容

 

使用文件对象的 read() 方法可以读取文件的全部内容,返回一个字符串。如果文件比较大,这种读取方式可能会导致内存不足,因此应该谨慎使用。

例如,下面的代码演示了如何读取一个名为 "test.txt" 的文本文件的全部内容:

with open("test.txt", "r") as f: 
    content = f.read() 
    print(content)

  

        (3)读取所有行

 

  使用文件对象的 readlines() 方法可以读取文件的所有行,并返回一个包含每一行的字符串列表。

例如,下面的代码演示了如何读取一个名为 "test.txt" 的文本文件的所有行:

with open("test.txt", "r") as f: 
    lines = f.readlines() 
    for line in lines: 
        print(line.strip()) # 去除行尾的换行符

需要注意的是,在使用 open() 函数打开文件时,可以通过第二个参数指定打开文件的模式,常用的模式有:"r"(只读模式)、"w"(写入模式)、"a"(追加模式)等。如果省略模式参数,默认为只读模式。

3.文件的写入

  在Python中,可以使用内置的open()函数来创建、读取和写入文件。open()函数需要两个参数:要打开的文件名和文件模式(读取、写入或追加)。文件模式是一个包含字母的字符串,通常包括以下选项:

  • 'r': 读取(默认)
  • 'w': 写入(会覆盖原来的内容)
  • 'a': 追加

例如,要创建一个新的文本文件并写入一些文本,可以使用以下代码:

with open("myfile.txt", "w") as file: 
    file.write("Hello, world!")

这将创建一个名为“myfile.txt”的新文件,并在其中写入字符串“Hello, world!”。

如果要向现有文件中添加文本,而不是覆盖原来的内容,可以使用模式"a":

with open("myfile.txt", "a") as file: 
    file.write("Hello again, world!")

这样做会将另一个字符串“Hello again, world!”添加到现有文件的末尾。

请注意,在本例中使用了with语句,它可以自动关闭文件,在处理文件时非常安全和方便。

4.文件的追加

  要向文件中追加内容而不覆盖原有内容,可以使用文件模式"a"。具体地说,可以使用内置的open()函数打开一个文件,并将模式参数设置为"a"来实现这个目标。

例如,假设我们要打开一个名为“myfile.txt”的文件并追加一些文本,可以使用以下代码:

with open("myfile.txt", "a") as file: 
    file.write("This text will be appended to the file")

  这样做会将字符串“ This text will be appended to the file”添加到现有文件的末尾,而不会删除任何现有内容。另外,与使用"w"模式不同,使用"a"模式打开文件时,如果文件不存在,则会创建一个新文件。

请注意,在本例中使用了with语句,它可以自动关闭文件,在处理文件时非常安全和方便。

5.文件的操作合集

(1)创建和写入文件

使用open()打开一个新文件,并使用模式参数"w"(写)来指示将覆盖现有文件或创建新文件。然后使用write()方法向文件写入文本。

with open('myfile.txt', mode='w') as file:

    file.write('Hello, world!')

(2)读取文件

使用open()打开一个已经存在的文件,并使用模式参数“r”(可读)来指示读取文件。然后使用read()方法读取整个文件。

with open('myfile.txt', mode='r') as file:

    text = file.read()

    print(text)

这将打印出刚才写入文件的字符串:“ Hello, world!”。

(3)追加到文件

使用open()打开一个现有的文件,并使用模式参数“a”(添加)来指示追加到文件末尾。然后使用write()方法向文件写入附加的文本。

with open('myfile.txt', mode='a') as file:

    file.write('\nThis text is appended.')

这将在原有的文本“Hello, world!”下面添加一行新文本“ This text is appended.”.

(4)遍历文件内容

使用open()打开一个文件并使用模式参数“r”(可读)来读取文件。然后使用for循环遍历文件中的每一行。

with open('myfile.txt', mode='r') as file:

    for line in file:

        print(line)

这将逐行打印出文件内容,包括刚才写入的“ Hello, world!”和追加的“This text is appended.”。

(5)使用csv文件格式

首先需要导入内置模块csv,然后可以使用open()函数打开一个.csv文件并将其作为csv.reader对象使用。

import csv



# Open the CSV with a context manager

with open('mydata.csv') as file:



    # Create the CSV reader object

    reader = csv.reader(file)



    # Iterate through each row in the CSV

    for row in reader:

        print(row)

这将读取名为“mydata.csv”的文件,并打印出其中每一行作为一个列表。如果该文件包含如下所示的内容:

Name,Age,Gender

John,25,Male

Emily,32,Female

'''则执行以上代码会输出:



['Name', 'Age', 'Gender']

['John', '25', 'Male']

['Emily', '32', 'Female']
'''

这些示例提供了Python中文件操作常见用法的简要概述。需要注意的是,在每个文件操作结束时,最好使用with语句来关闭文件,以确保数据被正确地保存到磁盘并释放资源。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要下载runoob菜鸟教程的Python3教程可以按照以下步骤进行操作: 第一步,打开浏览器,进入runoob的官方网站(www.runoob.com)。 第二步,点击网站顶部的菜单栏中的“Python3教程”按钮,进入Python3教程页面。 第三步,浏览Python3教程页面,找到需要下载的教程内容。 第四步,点击想要下载的教程链接,进入该教程的具体页面。 第五步,页面上方会有一个“下载”按钮,点击该按钮。 第六步,弹出下载窗口后,选择保存文件的路径和名称。 第七步,点击保存按钮,开始下载教程内容。 第八步,等待下载完成后,可以在保存的路径中找到下载好的教程文件。 以上就是下载runoob菜鸟教程Python3教程的步骤,按照以上方法进行操作,就可以获得所需的教程资料了。希望能对你有所帮助,并祝学习顺利! ### 回答2: 要下载菜鸟教程的Python 3教程,可以按照以下步骤进行操作。 首先,打开浏览器,并在地址栏中输入网址 "www.runoob.com",打开菜鸟教程的官方网站。 在菜鸟教程的主页上,可以看到导航栏,其中有一个分类为 "编程语言",将鼠标悬停在该分类上,会弹出一个下拉菜单。在下拉菜单中,点击 "Python"。 点击后,会跳转到Python的教程页面。在左侧的导航栏中,可以看到不同的章节和主题。找到所需的教程章节,点击进入。 进入具体的教程页面后,可以按照自己的学习需求,阅读教程内容。在页面的顶部,可以看到一排按钮,其中一个按钮上着 "下载教程",点击该按钮。 点击后,浏览器会开始下载菜鸟教程的Python 3教程的PDF文件。根据浏览器的设置,可能会出现一个弹窗询问是否保存文件,可以选择保存到自己想要保存的位置,然后点击保存。 待下载完成后,就可以在保存的位置找到已下载的PDF文件,可以使用PDF阅读器打开文件,随查看学习。 总结:要下载菜鸟教程的Python 3教程,只需通过菜鸟教程官方网站找到对应的教程页面,然后点击下载按钮即可获取教程的PDF文件,方便自己在任何间和地点学习。 ### 回答3: 要下载runoob菜鸟教程的Python 3教程,首先需要打开runoob的官方网站。在网站的首页上,我们可以找到一个搜索框,输入"Python"并点击搜索按钮。在搜索结果页面上,会显示出与Python相关的教程列表。 找到Python 3的教程并点击进入,会打开一个新的页面,里面包含了详细的Python 3教程内容。我们可以逐个点击不同章节来学习Python的各个方面,例如基础语法、数据类型、流程控制、函数、模块等等。在每个章节的最下方,会有一个下载链接,点击该链接即可下载该章节对应的教程内容。 一旦下载完成,我们可以使用任何支持文本编辑的软件来打开教程内容,比如记事本或者专门的代码编辑器。通过阅读这份教程,我们可以学习Python 3的基础知识和常用语法,从而能够编简单的Python程序。 此外,runoob菜鸟教程还提供了在线的Python 3编译器,我们可以在浏览器中直接运行和测试自己编Python代码,无需在本地安装Python环境。这样方便快捷地进行学习和实践。 总结来说,要下载runoob菜鸟教程的Python 3教程,只需访问runoob官方网站,搜索并进入Python 3教程页面,点击下载链接获取教程内容,然后使用文本编辑软件阅读学习。同,也可以利用runoob提供的在线编译器进行自我实践。通过这些方法,我们可以充分利用runoob菜鸟教程的Python 3教程资源,提升自己的编程能力。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值