Python3 文件和异常知识点整理

9@[toc]

一、文件

1、读取文件

(1)全部读取

with open('pi_digits.txt') as file_object:
	contents = file_object.read()
	print(contents)

①open()

用于打开文件,这样才能访问文件。其接受一个参数,为要访问的文件的名字或相对路径或绝对路径。

②with

在不再需要访问文件后将文件关闭。

③read()

读取文件中的全部内容。
read()到达文件末尾时返回一个空字符串,显示出来是一个空行。

(2)逐行读取

①for循环

filename='Pi.txt'
with open(filename) as fil:
	for line in fil:
		print(line)

会多出一些空行。

为何会出现这些空白行呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而
print语句也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一个来自print语句。要消除这些多余的空白行,可在print语句中使用rstrip():
print(line.rstrip())

②创建每一行组成的列表

with open(xxx) as fi:
	lines=fi.readlines()

创建了lines这个列表

2、使用文件

filename = 'pi_digits.txt'
with open(filename) as file_object:
	lines = file_object.readlines()
	pi_string = ''
for line in lines:
	pi_string += line.rstrip()
print(pi_string)
print(len(pi_string))

(读取完直接用读取时存的变量即可)
python读取文本文件时将其中的文本都读成字符串

3、写入文件

符号 意义
w 写入模式。清空或新建此文本文件并写入。
r(默认) 只读模式
a 附加模式。在原文本之后写
r+ 读取和写入的模式
filename = 'programming.txt'
with open(filename, 'w') as file_object:
	file_object.write("I love programming.")

使用write()函数
python只能写入字符串,因此要把写入的东西转为字符串再存

二、异常

(1)try-except[-else]

try:
	xxxxxx
except ABCD:
	mmmmmm
[
else:
	*******
]

try中包含可能出错的代码块
若出现ABCD错误,则执行mmmmm,并继续执行下去。
若为出现错误[,执行******],接着继续执行下去
如:

try:
	print(5/0)
except ZeroDivisionError:
	print("You can't divide by zero!")
try:
	answer = int(first_number) / int(second_number)
except ZeroDivisionError:
	print("You can't divide by 0!")
else:
	print(answer)

(2)失败时一声不吭

except之后的那段代码写为pass

三、存储数据

1、json

通过json库。

(1)json.dump存储

json.dump(data,filename)
data为要存储的数据

import json
numbers = [2, 3, 5, 7, 11, 13]
filename = 'numbers.json'
with open(filename, 'w') as f_obj:
	json.dump(numbers, f_obj)

(2)json.load读取

import json
filename = 'numbers.json'
with open(filename) as f_obj:
	numbers = json.load(f_obj)
print(numbers)

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