在unix/linux操作系统的世界里,一切都是文件,包括stdin/stdout/stderr.你可以先设想在loadDbase里没有importsys,sys.stdin=dbfile这两句,那么loadDbase就是从终端(命令行/控制台)输入数据;在给出这两句之后,应用就把dbfile(那个已经打开的文件)当作正在输入数据的终端,从中读取数据--这时的input和之前从终端读取数据的input没啥两样的。
多进程间共享的变量要使用特殊的数据结构,在multiprocessing包里有提供,常用的有Queue, Value, Array等,这里比较适合用Queue 修改后的程序如下,注意Result赋值,和ProcessCheck的参数 另外,Result要排序后输出的话,要用循环从Queue取值构