一、文件的两种表示形式
二、文件的打开与关闭
tf = open('test.txt','r',encoding='UTF-8') #文本形式打开,tf为文件句柄
print('文本输出:',tf.readline()) #输出第一行
tf.close()
tf = open('test.txt','rb') #二进制打开
print('二进制输出:',tf.readlines()) #全部输出
tf.close()
运行结果:
文本输出: 今天是除夕!
二进制输出: [b’\xe4\xbb\x8a\xe5\xa4\xa9\xe6\x98\xaf\xe9\x99\xa4\xe5\xa4\x95\xef\xbc\x81\r\n’, b’\xe5\x90\x83\xe9\xa5\xad\xe5\xb9\xb4\xe5\xa4\x9c\xe9\xa5\xad\xe6\xb3\xa1\xe4\xba\x86\xe4\xb8\x80\xe6\xac\xa1\xe6\xbe\xa1\xef\xbc\x8c\xe6\xb0\xb4\xe5\xbe\x88\xe7\x83\xad\xe3\x80\x82’]
三、文件内容的读取
f = open('test.txt','r',encoding='UTF-8')
print('输出全部内容:\n',f.read())
f.close() #注意文件打开后具有继承性
f = open('test.txt','r',encoding='UTF-8')
print('输出前两个字:\n',f.read(2))
f.close() #注意文件打开后具有继承性
f = open('test.txt','r',encoding='UTF-8')
print('输出一行内容:\n',f.readline())
f.close() #注意文件打开后具有继承性
f = open('test.txt','r',encoding='UTF-8')
print('输出该行前两个字:\n',f.readline(2))
f.close() #注意文件打开后具有继承性
f = open('test.txt','r',encoding='UTF-8')
print('输出所有行:\n',f.readlines())
f.close() #注意文件打开后具有继承性
f = open('test.txt','r',encoding='UTF-8')
print('输出:\n',f.readlines(7)) #输出包含第七个字符的前所有行,从零开始计数
f.close() #注意文件打开后具有继承性
运行结果:
输出全部内容:
今天是除夕!
吃饭年夜饭泡了一次澡,水很热。
洗完澡就上床了。
再凑一行吧。
输出前两个字:
今天
输出一行内容:
今天是除夕!
输出该行前两个字:
今天
输出所有行:
[‘今天是除夕!\n’, ‘吃饭年夜饭泡了一次澡,水很热。\n’, ‘洗完澡就上床了。\n’, ‘再凑一行吧。’]
输出:
[‘今天是除夕!\n’]
四、文件的写入
五、实例
1.实例一
import turtle as t
t.penup()
t.seth(-90)
t.fd(160)
t.pendown()
t.pensize(20)
t.colormode(255)
for j in range(10):
t.speed(2000)
t.pencolor(25*j,5*j,15*j)
t.seth(130)
t.fd(220)
for i in range(23):
t.circle(-80,10)
t.seth(100)
for i in range(23):
t.circle(-80,10)
t.fd(220)
t.done()
2.实例二
import turtle as t
t.title('自动根轨迹')
t.setup(800,600,0,0)
t.pencolor('red')
t.pensize(5)
datals = []
f = open('data.txt')
for line in f:
line = line.replace('\n','')
datals.append(list(map(eval,line.split(','))))
f.close()
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5])
t.fd(datals[i][0])
if datals[i][0]:
t.right(datals[i][2])
else:
t.left(datals[i][2])
t.done()