美文网首页程序员
Python基础学习【9】-文件和异常

Python基础学习【9】-文件和异常

作者: 爱吃西瓜的番茄酱 | 来源:发表于2017-10-28 15:01 被阅读42次

学习处理文件和保存数据可让你的程序使用起来更容易,学习处理异常可帮助你应对文件不存在的情况,以及其他可能导致程序崩溃的问题。通过本章的学习可提高程序的适用性、可用性和稳定性。

一:从文件中读取文件:

1:读取整个文件:

① 首先创建一个文件pi_digits.txt

② 文件路径:

◆  在Windows系统中,在文件路径中使用反斜杠(\) 而不是斜杠(/)

◆ 通过使用绝对路径,可读取系统任何位置的文件。

◆ 另外,由于反斜杠在Python中被视为转义字符,为确保万无一失,应以         原始字符串形式指定路径,即在开头的引号之前加上r。

③ 下面的程序打开并读取这个文件,再将其内容显示到屏幕上

◆ 关键字with在不需要访问文件的时候将文件关闭。

◆ 函数open()接受一个参数:要打开的文件的名称。

◆ 关键字as将文件“pi_digits.txt”重命名为 file_object,方便调用。

输出:

2:逐行读取:对文件对象使用for循环

输出:

要消除多余的空白行,可在print语句中使用rstrip():

输出:

3:创建一个包含文件各行内容的列表

输出:

4:使用文件的内容

输出:

二:写入文件

① 在如下示例中,调用open()函数时提供了两个实参:

一个实参是要打开的文件的名字(如果文件不存在,Python将自动创建它)

另一个是打开文件的模式,可指定只读模式("r"),写入模式("w"),附加模       式("a")等。

② Python只能将字符串写入文本文件,要将数值数据写入文本文件中,必须        先使用函数str()将其转换为字符串格式。

1:写入空文件

在当前工作目录下自动生成已写好的文件

打开文件programming.txt,将看到如下内容:

2:写入多行:函数write()不会在写入的文本末尾添加换行符,要让每个字符串独占一行,需要在write语句中包含换行符“\n”

输出:

3:附加到文件:以附加模式'a'打开文件,你写入到文件的行都将添加到文件末尾。如果文件不存在,Python将创建一个空文件。

输出:

三:异常

① 异常是使用try-except代码块处理的。

② 如果try代码块中的代码运行起来没有问题,Python将跳过except代码            块;

③ 如果try代码块中的代码导致了异常,Python将查找这样的except代码            块,并运行其中的代码

1:使用try-except代码块

输出:

2:else代码块:

通常将可能引发错误的代码放在try-except代码块中,可提高代码抵御错误能力依赖于try代码块成功执行的代码都应该放在else代码块中。

输出:

3:处理FileNotFoundError异常

输出:

4:分析文本:

◆ 分析Python之禅这首诗有多少个单词。

◆ 使用方法split(),它将根据一个字符串创建一个单词列表。

输出:

5:使用多个文件:

输出:

6:失败时一声不吭:

Python中有一个pass语句,可在代码块中使用它来让Python什么都不做。

输出:

四:存储数据

① 一种简单的方式是使用模块json来存储数据。

② 函数json.dump()接受两个对象:要存储的数据以及可用于存储数据的文        件对象。

1:使用json.dump()来存储数据:

输出:

2:使用json.load()来读取数据

输出:

3:保护和读取用户生成的数据

输出:

五:重构:

◆ 将代码划分为一系列完成具体工作的函数,这样的过程被称为重构。

◆ 重构让代码更清晰,更易于理解,更容易扩展。

# 重构上个问候用户的程序

import json

def get_stored_username():

"""如果存储了用户名,就获取它"""

filename = "username.json"

try:

with open(filename) as file_object:

username = json.load(file_object)

except FileNotFoundError:

return None

else:

return username

def get_new_username():

"""提示用户输入用户名"""

username = input("What is your name? ")

filename = "username.json"

with open(filename, "w") as file_object:

json.dump(username, file_object)

return username

def greet_user():

"""问候用户,并指出其名字"""

username = get_stored_username()

if username:

print("Welcome back, " + username + "!")

else:

username = get_new_username()

print("We'll remember you when you come back, " + username + "!")

greet_user()

输出:

每天学习一点点,每天进步一点点。

相关文章

  • Python基础学习【9】-文件和异常

    学习处理文件和保存数据可让你的程序使用起来更容易,学习处理异常可帮助你应对文件不存在的情况,以及其他可能导致程序崩...

  • Python-异常处理

    文件作用:学习Python基础-抛异常(try:except:---不终止程序运行;raise-终止程序运行) #...

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • Python基础学习day6|文件和异常

    文件和异常处理 从文件中读取数据 要使用文本文件中的信息,首先需要将信息读取到内存中。为此,我们可以一次性读取文件...

  • python的学习方向

    我的学习计划: 1、Python基础语法、python字符串解析、python时间和日历、python文件操作,数...

  • Python基础 - json文件和异常捕获

    知识回顾 1.容器类型 列表:[元素];可变的,有序;任意类型;增删改查字典:{键值对};可变的,无序;key不可...

  • python学习笔记week1:

    第一周,花了每天花了将近3个小时的学习时间基本覆盖了Python应用基础的几个方面: 语法基础, 异常处理, 文件...

  • day11-文件操作、json文件和异常捕获

      今天主要学习python中的文件操作、json文件和异常捕获三个内容。   一、文件操作   基本过程:打开文...

  • python文件和异常

    10.1.3 逐步读取 读取文件时,常常需要检查其中的每一行,要以每次一行的方式检查文件,可对文件对象使用for循...

  • Python——文件和异常

    从文件中读取数据 使用文本文件中的信息,首先需要将信息读取到内存中。可以选择一次性读取文件的全部内容,也可以选择逐...

网友评论

    本文标题:Python基础学习【9】-文件和异常

    本文链接:https://www.haomeiwen.com/subject/dokspxtx.html