python学习2019/05/30

文件内容的读取

《f》.read(size = -1)
读入全部内容,如给出参数,读入前size长度
f=‘中国是个伟大的国家’
s = f.read(2)
读取,中国

《f》.readline(size = -1)
读入一行内容,如给出参数,读入该行前size长度
‘中国是个伟大的国家’

《f》.readlines(hint = -1)
读入文件所有行,以每行为元素形成列表
如给出参数,读入前hint行
【‘中国是个伟大的国家’】

文件的全文本操作

遍历全文本
1,
fname = input(‘请输入要打开的文件名称’)
fo = open(fname,‘r’)
txt = fo。read()
#对全文本进行txt处理
fo。close()

一次读取,统一处理

2,
fname = input(‘请输入要打开的文件名称’)
fo = open(fname,‘r’)
txt = fo。read(2)
while txt !=‘’:
txt = fo。read(2)
fo。close()

按数量读入,逐步处理

逐行遍历
1,
fname = input(‘请输入要打开的文件名称’)
fo = open(fname,‘r’)
for line in fo。readlines():
print(line)
fo。close()

一次读入,分行处理

2,
fname = input(‘请如数要打开的文件名称’)
fo = open(fname,‘r’)
for line in fo:
print(line)
fo。close()

分行读入,逐行处理

数据的文件写入

《f》.write(s)
向文件写入一个字符串或字节流
f.write(‘中国是一个伟大的国家!’)

.writelines(lines)
将一个元素全为字符串的列表写入文件
ls = [‘中国’,‘法国’,‘美国’]
f.writelines(ls)
中国法国美国

《f》.seek(offset)
改变当前文件操作指针的位置,offset的含义如下
0-文件开头,1-当前位置,2-文件结尾。
f.seek(0)
#回到文件开头

fo = open(‘output.txt’,‘w+’)
ls = [‘中国’,‘法国’,‘美国’]
fo.writelines(ls)
fo.seek(0)
#返回到文件开头
for line in fo:
print(line)
#写一个字符串列表
fo,close()

自动轨迹绘制

基本思路
1,定义数据文件格式(接口)
2.编写程序,根据文件接口解析参数绘制图形

date.txt
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0

行进距离,
转向判断,0:左转,1:右转
转向角度,
最后三个,RGB通道颜色
0-1的浮点数

import turtle as t
#载入绘图模块
t.title(‘自动轨迹绘制’)
#设置标题
t.setup(800,600,0,0)
#设置窗口大小与位置
t.pencolor(‘red’)
#设置画笔颜色
t.pensize(5)
#设置画笔粗细
#数据读取
datals = []
#设置列表
f = open(‘date.txt’)
#打开文件,赋值为f
for line in f:
#遍历f给line,逐一处理每一行
line = line.replace(’\n’, ‘’)
#line 赋值为替换,换行替换为空值,去掉换行信息
datals.append(list(map(eval, line.split(’,’))))
#列表最后,line.split以,逗号分隔字符,用eval去引号
#map,将第一个函数的功能作用与第二个参数的每个元素
#就是说用转为数值的功能,作用于用逗号分隔的每一个元素
#然后作为列表,输出到datals最后
f.close()
#关闭文件
#自动绘制
for i in range(len(datals)):
#逐一遍历datals的长度值,i为遍历的第几行
t.pencolor(datals[i][3], datals[i][4], datals[i][5])
#获得当前datals函数的值找到函数的第3.4.5个值,附给画笔颜色作为rgb值
t.fd(datals[i][0])
#往前移动datals函数的第1个值
if datals[i][1]:
#如果函数第二个值不等于0
t.right(datals[i][2])
#向右转第3个值的角度
else:
t.left(datals[i][2])
#向左转第3个值的角度

replace

str.replace(old, new[, max])

参数
old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次

返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

map

map(function, iterable, …)

function – 函数
iterable – 一个或多个序列

方法思维

自动化思维:数据和功能分离,数据驱动的自动运行
接口化设计:格式化设计接口,清晰明了
二位数据应用:应用维度组织数据,二位数据最常用
扩展接口设计,增加更多控制接口
扩展功能设计,增加弧形等更多功能
扩展应用需求,发展自动轨迹绘制到动画绘制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值