9@[toc]
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
用于打开文件,这样才能访问文件。其接受一个参数,为要访问的文件的名字或相对路径或绝对路径。
在不再需要访问文件后将文件关闭。
读取文件中的全部内容。
read()到达文件末尾时返回一个空字符串,显示出来是一个空行。
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这个列表
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读取文本文件时将其中的文本都读成字符串
符号 | 意义 |
---|---|
w | 写入模式。清空或新建此文本文件并写入。 |
r(默认) | 只读模式 |
a | 附加模式。在原文本之后写 |
r+ | 读取和写入的模式 |
filename = 'programming.txt'
with open(filename, 'w') as file_object:
file_object.write("I love programming.")
使用write()函数
python只能写入字符串,因此要把写入的东西转为字符串再存
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)
except之后的那段代码写为pass
通过json库。
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)
import json
filename = 'numbers.json'
with open(filename) as f_obj:
numbers = json.load(f_obj)
print(numbers)