判定是否提交一个警告信息取决于warning filter,它是一系列匹配的规则和行动。规则可以通过filterwarnings()添加至filter
将一个json编码的字符串转换回一个python数据结构
创建ArgumentParser()对象
parser = argparse.ArgumentParser()
调用 add_argument() 方法添加参数
parser.add_argument()
使用 parse_args() 解析添加的参数
args = parser.parse_args()
0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获
此方法返回布尔类型的布尔值 bool。如果指定的路径是现有目录,则此方法返回 True,否则返回 False。
将对象转化为供解释器读取的形式,返回一个对象的 string 格式。
使用try语句捕获异常时,可以包含else子句。仅当try块中的代码未生成异常时,才会执行else块中的语句
cpu_count():统计cpu总数
active_children():获取所有子进程
multiprocessing.Pool([processes[, initializer[, initargs[, maxtasksperchild]]]])
processes表示pool中进程的数目,默认地为当前CPU的核数。
initializer表示新进程的初始化函数。
initargs表示新进程的初始化函数的参数。
maxtasksperchild表示每个进程执行task的最大数目
多线程使用的是CPU的一个核,适合IO密集型
多进程使用的是CPU的多个核,适合运算密集型
init,member=0
add1,number=1
默认是从 0 开始。例如 xrange(5) 等价于 xrange(0, 5)
stop: 计数到 stop 结束,但不包括 stop。例如:xrange(0, 5) 是 [0, 1, 2, 3, 4] 没有 5
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要好。
该异常是在循环对象穷尽所有元素时的报错
traceback.print_exception(etype,value,tb,limit = None,file = None,chain = True )
打印异常信息并将堆栈跟踪条目从追溯对象tb堆栈 到file。
sys.stdout # 存储原始的输出对象