当前位置: 首页 > 工具软件 > dejaVu > 使用案例 >

dejavu项目笔记

邵伟
2023-12-01

filterwarnings()

判定是否提交一个警告信息取决于warning filter,它是一系列匹配的规则和行动。规则可以通过filterwarnings()添加至filter

json.loads()

将一个json编码的字符串转换回一个python数据结构

argparse

创建ArgumentParser()对象

parser = argparse.ArgumentParser() 

调用 add_argument() 方法添加参数

parser.add_argument()

使用 parse_args() 解析添加的参数

args = parser.parse_args()

sys.exit()

0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获

os.path.isdir(路径)

此方法返回布尔类型的布尔值 bool。如果指定的路径是现有目录,则此方法返回 True,否则返回 False。

repr()

将对象转化为供解释器读取的形式,返回一个对象的 string 格式。

try-except-else

使用try语句捕获异常时,可以包含else子句。仅当try块中的代码未生成异常时,才会执行else块中的语句

multiprocessing的方法

cpu_count():统计cpu总数
active_children():获取所有子进程

multiprocessing.Pool

multiprocessing.Pool([processes[, initializer[, initargs[, maxtasksperchild]]]])
processes表示pool中进程的数目,默认地为当前CPU的核数。
initializer表示新进程的初始化函数。

initargs表示新进程的初始化函数的参数。

maxtasksperchild表示每个进程执行task的最大数目

多进程和多线程区别:

多线程使用的是CPU的一个核,适合IO密集型

多进程使用的是CPU的多个核,适合运算密集型

init,member=0
add1,number=1

xrange/range

默认是从 0 开始。例如 xrange(5) 等价于 xrange(0, 5)
stop: 计数到 stop 结束,但不包括 stop。例如:xrange(0, 5) 是 [0, 1, 2, 3, 4] 没有 5

map(func, iterable[, chunksize])

map方法与在功能上等价与内置的map(),只不过单个任务会并行运行。它会使进程阻塞直到结果返回。
但需注意的是其第二个参数虽然描述的为iterable, 但在实际使用中发现只有在整个队列全部就绪后,程序才会运行子进程。 map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
iterable – 一个或多个序列
imap(func, iterable[, chunksize])
与map不同的是, imap的返回结果为iter,需要在主进程中主动使用next来驱动子进程的调用。即使子进程没有返回结果,主进程对于gen_list(l)的 iter还是会继续进行, 另外根据python2.6文档的描述,对于大数据量的iterable而言,将chunksize设置大一些比默认的1要好。

StopIteration的异常

该异常是在循环对象穷尽所有元素时的报错

traceback.print_exception()

traceback.print_exception(etype,value,tb,limit = None,file = None,chain = True )
打印异常信息并将堆栈跟踪条目从追溯对象tb堆栈 到file。

sys.stdout # 存储原始的输出对象

 类似资料: