美文网首页
python学习日记5-异常,文件

python学习日记5-异常,文件

作者: livein80 | 来源:发表于2023-12-31 22:19 被阅读0次

1.异常

+++++++++++++++++++++++++++++++
异常是程序运行中出现的错误或者遗漏的bug就叫异常。

1. 异常语句的使用:
try:
    #可能出现异常的代码块
    print(4/0)
except Exception as e:
    #Exception 所有异常的父类,捕获后存储在e中
    print('出现异常时执行',e,type(e))
else:
    #没有出现错误时执行
    print('没有出现错误时执行')
finally:
    #finally,无论是否出现异常,都执行
    print('无论是否出现异常,都执行')

2.文件

+++++++++++++++++++++++++++++++

正常的文件读取操作为:打开文件open(fileName),操作文件(读取或者写入)file_obj.read(),关闭文件file_obj.close()。

file_name = './1.txt'
#打开文件
file_obj=open(file_name)
print(file_obj)
#<_io.TextIOWrapper name='../1.txt' mode='r' encoding='UTF-8'>
#操作文件()
file_obj.read()
#关闭文件
file_obj.close()

如果文件忘记关闭的话,资源会被长期占有,会造成内存泄漏。所以,可以使用with...as... 的方式读取文件。with...as...结束后会自动关闭文件。

file_name = './1.txt'
# with...as.. 的方式读取文件。结束后可以自动关闭
try:
    with open(file_name,encoding='utf-8') as file_obj:
        content = file_obj.read()
        print(content)
except Exception as e:
    print(e,type(e))
    #文件不存在时 [Errno 2] No such file or directory: './1.txt' <class 'FileNotFoundError'>

read() 来读取文件时,他会直接将所有的文件都读取出来,如果要读取的文件较大,一次性读取到内存里来时,会导致性能下降,内存溢出等问题。所以 可以使用分段读取的方式。譬如:

file_name = './1.txt'
try:
    with open(file_name,encoding='utf-8') as file_obj:
        # content = file_obj.read()
        chunk = 100
        while True:
            #read(size) 可以设置一个每次读取的长度值。以实现分段读取的作用
            content = file_obj.read(chunk)
            # 退出循环
            if not content:
                # 内容读取完毕后 退出循环
                break
            print(content,end="|||")
except Exception as e:
    print(e,type(e))

分段读取的其他方式还有:
# file_obj.readline() # 每次读取一行
# file_obj.readlines() #按照行数,将内容存放在list中

def fn():
    with open(file_name, encoding='utf-8') as file_obj:
        while True:
            line = file_obj.readline()
            yield line

f = fn()
print(next(f),end='---------')
print(next(f),end='---------')

当然,也可以结合readline(),使用生成器的方法来解决这个问题。

  • 写入文件可以使用file_obj.write()方法,在open()方法时,需要设置一下mode参数。r:只读,w:只写,a:追加,......

相关文章

  • python学习笔记目录

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

  • 笔记6:词频统计

    import string path = r'F:\5-学习\python学习\20160923\Walden.t...

  • Python异常处理

    Python中文件的操作 Python异常的处理 异常的引发 try⋯finally的使用

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

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

  • Python-异常处理

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

  • 读书笔记 | Python学习之旅 Day8

    Python学习之旅 读书笔记系列 Day 8 《Python编程从入门到实践》 第10章 文件和异常 知识点 文...

  • Python 文件处理

    Python 读文件处理 1. readline() with 处理开闭文件&文件异常处理 readline()内...

  • Python ☞ day 5

    Python学习笔记之 装饰器& 偏函数 & 异常处理 & 断言 & 文件读写 &编码与解码 装饰器 概念:是一个...

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

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

  • Python学习笔记8—文件和异常

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

网友评论

      本文标题:python学习日记5-异常,文件

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