个人平时学习笔记,感觉是些常用到的语法知识,与大家分享了!!!
1、numpy保存、加载数据
p = np.arange(0,20,2).reshape(2,5)
# 在磁盘上保存
np.save ('my_array', p)
# 加载磁盘上的数据
np.load('my_array.npy')
h = a.view() # a的视图,与a同步改变
b = np.copy(a) # 复制a, 可以改变,a本身不会变
2、应用sklearn 保存、加载任意类型数据:
# 可保存任意数据
x = {'w':123, 'h':123}
from sklearn.externals import joblib
# 保存x
joblib.dump(x, 'x.pkl')
# 加载x
y = joblib.load('x.pkl')
print(y)
3、导入上一级,和所有目录下的所有文件(Linux 服务器下运行程序)
目录:
--root
--model
--unet.py
--runs
--train.py
# _train.py 中调用model目录下的unet.py文件
import sys, os
sys.path.append("..")
sys.path.extend([ os.path.join (root, name)
for root, dirs, _ in os.walk("../")
for name in dirs ])
# os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
4、将一个文件夹下所有文件封装成一个 list[]
list( map(lambda x: os.path.join(root, x), os.listdir(root)))
map 函数, 前面是一个function,后面是一个序列,将序列中的值依次输入给函数迭代执行。
lambda,匿名函数的格式:冒号前是参数,可以有多个,用逗号隔开,冒号右边的为表达式。其实lambda返回值是一个函数的地址,也就是函数对象。
a = lambda x,y,z:(x+8)*y-z
print(a(5,6,8))