(共16张PPT)
3.2 Python程序设计
8、文件
文本文件和二进制文件
两种类型的文件:文本文件和二进制文件。
文本文件由一个字符序列构成。十进制整数199,在文本文件中存储为三个字符‘1’、‘9’、‘9’构成的字符序列(假设字符集为ASCII),占3个字节
二进制文件由一个二进制字节序列构成。十进制整数199,在二进制文件中存储为11000111(十进制的199等于二进制的11000111),占1个字节
程序对文件进行操作时,需要考虑该文件是文本文件还是二进制文件
计算机并不会区分文本文件和二进制文件。所有的文件都以二进制格式存储,因此实际上所有的文件都是二进制文件
#写入数据
open("foo.txt","w")#打开文件
fo, write("这是第一行\n")
fo, write("这是第二行\n")
fo, write("这是第三行\n")
fo, write("这是第四行\n")
fo, write("这是第五行\n")
fo close()
#关闭文件
#追加数据
with open ("foo. txt","a")as fo:
1ist1=["我喜欢编程\n"," Python很有趣\η
fo. writelines(list1)
with open ("foo. txt","r)as fo:
for line in fo:
print(line. rstrip())
#读写数值数据
from random import randint
ith open ("numbers.txt
as fo:
for i in range(10):
fo write(str(randint(0, 9))+)
ith
open( numbers. txt
)as fo:
s= fo read()
numbers
Leval(x) for x in s. split)
for number in numbers
print(number, end
#对象输入输出
import pickle
with open ("pickle. dat",wb")as fo:
pickle. dump(45, fo)
pickle. dump(56.6, fo)
pick1e.dump("编程非常有意思",fo)
pick1e.dump([111,222,333,444],fo)
with open ("pickle. dat",rb")as fo:
print(pickle load(fo))
print(pickle load(fo))
print(pickle load (fo)
print(pickle load(fo))