Python基础教程(四)|异常处理和文件操作

大家好,这里是Data星球!在前面的Python基础教程(三)中我们学习了函数和模块的基础知识,今天我们将继续学习Python的基础知识——异常处理和文件操作。

异常处理

当Python程序执行过程中发生错误时,会抛出异常,如果不进行处理,程序会直接停止运行。因此,异常处理是Python程序开发中必不可少的一部分。

常见的异常包括:SyntaxError(语法错误)、ZeroDivisionError(除零错误)、NameError(名称错误)、ValueError(值错误)等等。

  1. try-except语句

try-except语句是Python中处理异常的基本方式。try语句下面的代码块会被执行,如果发生异常,则会跳转到except语句中进行异常处理。

下面是一个简单的示例:

try:
    a = int(input('请输入一个整数:'))
    b = 10 / a
    print('结果为:', b)
except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('请输入一个整数')

首先程序会等待用户输入一个整数,然后计算10除以这个整数的结果,如果这个整数为0,则会抛出一个ZeroDivisionError异常,如果这个整数不是整数,会抛出一个ValueError异常。我们在except语句中处理这些异常,并输出对应的错误提示信息。

  1. try-except-else语句

try-except-else语句同样用于处理异常,但它还有一个else子句,如果在try语句块中没有发生异常,则执行else语句块中的代码。

下面是一个示例,判断一个输入的数是否为素数:

try:
    num = int(input('请输入一个数:'))
    if num <= 1:
        raise ValueError('输入值应大于1')
    for i in range(2, num):
        if num % i == 0:
            raise ValueError('输入值不是素数')
except ValueError as e:
    print(e)
else:
    print('输入值是素数')

首先程序等待用户输入一个数,如果这个数小于等于1,则会抛出一个ValueError异常,并输出‘输入值应大于1’的错误信息;否则程序会判断这个数是否为素数,如果不是素数,则会抛出一个ValueError异常,并输出‘输入值不是素数’的错误信息;如果没有发生异常,即这个数是素数,程序会执行else语句块中的代码。

  1. try-except-finally语句

try-except-finally语句同样用于处理异常,但它还有一个finally子句,无论发生什么异常,都会执行finally子句中的代码。

下面是一个示例,读取一个文件中的内容:

try:
    f = open('test.txt', 'r')
    try:
        print(f.read())
    except:
        print('读取文件失败')
    finally:
        print('文件关闭')
        f.close()
except IOError:
    print('文件不存在')

程序首先尝试打开文件test.txt,如果文件不存在,则会抛出一个IOError异常,并输出‘文件不存在’的错误信息;如果文件存在,则会读取文件中的内容,并输出内容;如果读取文件出现异常,则会抛出一个异常,并输出‘读取文件失败’的错误信息;无论是否发生异常,程序都会执行finally语句中的代码,即关闭文件。

文件操作

文件操作是Python程序中常用的一部分,常见的文件操作包括读取、写入和追加文件等操作。

  1. 打开文件 使用open()函数可以打开文件。

f = open('test.txt', 'r')

open()函数有两个参数,第一个参数为文件名,第二个参数为打开文件的模式,其中:

  • 'r'表示读取文件;

  • 'w'表示写入文件,如果文件不存在,则创建文件,如果文件已经存在,则覆盖原有内容;

  • 'a'表示追加文件,将新增的内容追加到文件末尾;

  • 'x'表示写入文件,但如果文件已经存在,则会抛出FileExistsError异常。

  1. 读取文件

使用read()函数可以读取文件中的所有内容,并返回一个字符串。例如:

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

read()函数会将文件中的所有内容读取出来,存放在字符串变量content中,并输出到屏幕上。最后使用close()函数关闭文件。

如果文件非常大,或者读取速度需要优化,我们可以使用readline()函数每次只读取文件的一行内容。例如:

f = open('test.txt', 'r')
while True:
    line = f.readline()
    if not line:
        break
    print(line)
f.close()

readline()函数每次读取文件的一行内容,当读取到最后一行时,返回空字符串。因此我们使用一个while循环来读取文件的所有内容,并输出到屏幕上。

  1. 写入文件

使用write()函数和writelines()函数可以向文件中写入内容。

write()函数用于向文件中写入字符串。例如:

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

这个程序会向文件test.txt中写入‘Hello World’这个字符串,并覆盖原有内容。

writelines()函数用于向文件中写入多个字符串,每个字符串之间用换行符分隔。例如:

f = open('test.txt', 'w')
lines = ['Hello', 'World', 'Python']
f.writelines('\n'.join(lines))
f.close()

这个程序会向文件test.txt中写入三个字符串,每个字符串之间用换行符分隔。

  1. 追加文件

使用a模式可以将新的内容追加到文件末尾。例如:

f = open('test.txt', 'a')
f.write('Hello World')
f.close()

这个程序会向文件test.txt中追加‘Hello World’这个字符串。

当然,我们在使用完文件之后,一定要记得关闭文件,以便释放系统资源。如果使用with语句来打开文件,Python会在代码块执行完毕后自动关闭文件。例如:

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

这个程序使用with语句打开文件,并在代码块结束后自动关闭文件。

尽管本篇文章中的例子比较简单,但是这些例子可以帮助你更好地理解Python中异常处理和文件操作的基本知识。如果你想要深入了解这些知识,可以进一步学习有关Python中更高级的异常处理和文件操作的知识。

总结:

 在本篇文章中,我们介绍了Python中的异常处理和文件操作,这些是Python程序开发中非常重要的一部分。在异常处理中,try-except语句是最基本的方式,同时还可以使用try-except-else和try-except-finally语句进行更加复杂的异常处理。在文件操作中,使用open()函数可以打开文件,在读取和写入文件时,我们可以使用read()、write()、readline()和writelines()等函数对文件进行操作。

 关注"Data星球"公众号,回复"电子书"获取免费python基础教程书籍,回复‘gpt’免费使用chatgpt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值