Python3——文件与异常
目录
-
文件
(1)、打开文件open()
读文件时,一般只有一个参数,表示文件名(相对路径和绝对路径都可以)
写文件时,一般有两个参数,第一个表示文件名,第二个表示写入模式('r’ —— 读取模式, ‘w’——写入模式, ‘a’——附加模式, ‘r+’——读取和写入)。
with open("./123.txt") as m_file:
(2)、写文件write()
m_file.write(“I love Python”)
(3)、从文件读取数据
contents = m_file.read() #读取文件所有内容
for line in m_file: #读取一行
-
异常(防止程序崩溃)
Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。
(1)、try-except代码块
try:
with open("./456.txt", 'r') as m_file:
print("File open success!")
except FileNotFoundError:
print("File open fail!")
(2)、try-except-else代码块
"""
123.txt:
I love Python
I love Python
I love Python
I love Python
"""
try:
with open("./123.txt", 'r') as m_file:
contens = m_file.read()
print("File open success!")
except FileNotFoundError:
print("File open fail!")
else:
words = contens.split()
count = len(words)
print(str(count)) # 12
-
常用文件方法
常用文件方法 | 描述 |
file.open(path, mode) | 打开文件 |
file.seek(off, whence=0) | 移动到 file 中的某个位置,从 whence 的 off 字节的偏移量处( 0 表示文件的开始, 1 表示当前位置, 2 表示文件末尾) |
file.tell() | 返回 file 内的当前位置 |
file.truncate(size=file.tell()) | 以最多 size 字节来截断 file,默认为当前文件位置 |
file.write(str) | 向 file 中写入字符串 str |
file.writelines(seq) | 将字符串 seq 写入 file 中; seq 应该是一个可迭代产生的字符串;在 Python 2.2 版本之前,它仅仅是一个字符串列表 |
file.closed | 如果 file 关闭了则为 True; 否则为 False |
file.encoding | 这个文件使用的编码,当向 file 中写入 Unicode 字符串时,使用 file.encoding 将它们转换为字节字符串;值 None 表示应该使用系统默认的编码方式来转换 Unicode 字符串 |
file.mode | 打开 file 的访问模式 |
file.read(size=-1) | 读取文件中的 size 个字节,如果 size 未给出或为负数,则读取所有剩余的字节,作为一个字符串返回 |
file.readline(size=-1) | 从 file 中读取并返回一行(包括行结束字符),为一整行或 size 字符的最大值 |
file.flush() | 冲刷 file 的内部缓冲器 |