python文件操作

文件读写和异常处理

文件操作主要包含对文件和文件目录的处理。使用python的内置的open函数打开文件,在使用open函数时,可以通过函数的参数指定文件名操作模式字符编码等信息。操作模式是指要打开什么样的文件(字符文件或二进制文件)以及做什么样的操作(读、写或追加),具体如下表所示。

操作模式 具体含义
'r' 读取 (默认)
'w' 写入(会先截断之前的内容)
'x' 写入,如果文件已经存在会产生异常
'a' 追加,将内容写入到已有文件的末尾
'b' 二进制模式
't' 文本模式(默认)
'+' 更新(既可以读又可以写)

open函数操作模式

python文件操作_第1张图片

打开文件注意文件的字符编码,通常使用utf-8字符编码。

读写纯文本

读取文本文件

file = open('python学习笔记.txt', 'r', encoding='utf-8')
print(file.read())
file.close()

按行读取

file = open('python学习笔记.txt', 'r', encoding='utf-8')
for line in file:
    print(line, end='')
file.close()

file = open('python学习笔记.txt', 'r', encoding='utf-8')
lines = file.readlines()
for line in lines:
    print(line, end='')
file.close()

写文本

file = open('python学习笔记.txt', 'a', encoding='utf-8')  # a--追加,w---覆写
file.write('\n作者:小宝')
file.write('\n时间:2024年1月26')
file.close()

异常处理

异常相关的关键字 tryexceptelsefinallyraise

file = None
try:
    file = open('python学习笔记.txt', 'r', encoding='utf-8')
    print(file.read())
except FileNotFoundError:
    print('无法打开指定的文件!')
except LookupError:
    print('指定了未知的编码!')
except UnicodeDecodeError:
    print('读取文件时解码错误!')
finally:
    if file:
        file.close()

try 、with与异常处理

try:
    with open('致橡树.txt', 'r', encoding='utf-8') as file:
        print(file.read())
except FileNotFoundError:
    print('无法打开指定的文件!')
except LookupError:
    print('指定了未知的编码!')
except UnicodeDecodeError:
    print('读取文件时解码错误!')

读写二进制

try:
    with open('致橡树.txt', 'r', encoding='utf-8') as file:
        print(file.read())
except FileNotFoundError:
    print('无法打开指定的文件!')
except LookupError:
    print('指定了未知的编码!')
except UnicodeDecodeError:
    print('读取文件时解码错误!')

分块读写

try:
    with open('guido.jpg', 'rb') as file1, open('吉多.jpg', 'wb') as file2:
        data = file1.read(512)
        while data:
            file2.write(data)
            data = file1.read()
except FileNotFoundError:
    print('指定的文件无法打开.')
except IOError:
    print('读写文件时出现错误.')
print('程序执行结束.')

python文件操作_第2张图片

你可能感兴趣的:(python,python,开发语言,数据库)