python 编程笔记

一点点学 Python

  • 一点点学 Python
    • map()函数
    • 读取文件夹下所有的文件名
    • 交互式获取文件路径,打开*.h5文件
    • tensorflow学习记录-flag设置

map()函数

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
    return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

输出结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函数不改变原有的 list,而是返回一个新的 list。

读取文件夹下所有的文件名

glob.glob(r'D:\CMUmocap\*\\*.h5')与os.listdir(r'D:\CMUmocap')

读取文件夹下所有的文件名

交互式获取文件路径,打开*.h5文件

import win32ui
import h5py
import numpy as np

dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框
dlg.SetOFNInitialDir(r'E:\study\example\test\data\h36m') # 设置打开文件对话框中的初始显示目录
dlg.DoModal()
filename = dlg.GetPathName() # 获取选择的文件名称
print( filename)
"""
#HDF5的写入:
imgData = np.zeros((2,4))
f = h5py.File('HDF5_FILE.h5','w')   #创建一个h5文件,文件指针是f
f['data'] = imgData                 #将数据写入文件的主键data下面
f['labels'] = np.array([1,2,3,4,5])            #将数据写入文件的主键labels下面
f.close()  
"""
#HDF5的读取:
f = h5py.File(filename,'r')   #打开h5文件
# 可以查看所有的主键
for key in f.keys():
    print(f[key].name)
    print(f[key].shape)
  #  print(f[key].value) 

tensorflow学习记录-flag设置

tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv

import tensorflow as tf
flags = tf.flags #flags是一个文件:flags.py,用于处理命令行参数的解析工作

#第一个是参数名称,第二个参数是默认值,第三个是参数描述
flags.DEFINE_string("para_1","default_val", "description")
flags.DEFINE_bool("para_2","default_val", "description")

#FLAGS是一个对象,保存了解析后的命令行参数
FLAGS = flags.FLAGS
def main(_):
    FLAGS.para_1 #调用命令行输入的参数

if __name__ = "__main__": #使用这种方式保证了,如果此文件被其它文件import的时候,不会执行main中的代码
    tf.app.run() #解析命令行参数,调用main函数 main(sys.argv)

传入参数方法:
python script.py --para_1=value1 --para_2=value2

不传的话,会使用默认值,注意等号左右没有空格

tf.get_variable函数的使用

删除文件以及文件夹

你可能感兴趣的:(编程C/C++,Python等)