1.python计算float之后如何精简小数位数,并且转成str类型
a=5.123456
round(a,2)
a=5.12
但是会发生奇怪的事,就是str(round(a,2))*100之后
得到的是5.050000000000001,目前还没找到合适的解决方法
2.寻找某个目录下的所有文件
file_dir = "F:/123"
for root, dirs, files in os.walk(file_dir, topdown=False):
print(root) # 当前目录路径
print(dirs) # 当前目录下所有子目录
print(files) # 当前路径下所有非目录子文件
3.matplotlib画图的时候,图片里面的曲线反复叠加
这是因为画新的图的时候没有进行清空
plt.clf() 加一个这个语句就可以了
4.画图的时候,不是导入matplotlib就完事了,这样画图会失败
报错:AttributeError: module 'matplotlib' has no attribute 'plot'
应该是:
import matplotlib.pyplot as plt
import numpy as np
5.列表逆序操作,就是list.reverse()
这是一个方法,没有返回值,所以原来的列表就已经变了
6.画图之后保存figure
plt.savefig("filename.png")
7.画图通常需要一个横坐标,用np.linspace比较合适
x=np.linspace(0,2*np.pi,50)
就能够生成一个0-2pi的50个点的数列
8.for i in range(0,10) 这样用最常见
不过也可以倒着数 for i in range(10,0,-1)
这样就是10-1,没有0
9.F1 = open(“source_1.txt",'r');
List_row = F1.readlines();
x = len(List_row);
y = len(List_row[0].split("|"));
这样就是打开了一个txt,读取了第一行,然后x就是行数,y就是以x的第一行进行切割,切割后的列数
10.也可以把txt切割成二维列表
F1 = open(r"C:UserslenovoDesktopinput.txt", "r")
List_row = F1.readlines()
list_source = []
for i in range(len(List_row)):
column_list = List_row[i].strip().split("|") # 每一行split后是一个列表
list_source.append(column_list) # 加入list_source
for i in range(len(list_source)): # 行数
for j in range(len(list_source[i])): # 列数
print list_source[i][j]
相当于新建了一个空列表,把每一次split之后的一维表存在新列表的第一项,就能实现二维索引了
(先索引第m行,然后索引这一行里面的列表的第n项)
11.'gbk' codec can't decode byte 0xbf in position
这个主要是解码txt的时候出现了错误
如果是f = open('H:score.txt','r') 就会出现错误
如果是:f = open('H:score.txt',encoding = 'utf-8')就可以了



