来自Python MultiProcess的StdOut无法重定向

时间:2019-02-04 06:05:39

标签: python stdout

我有一个Python程序,该程序使用print()将输出写入控制台。 控制台输出似乎是正确的,但是当我尝试将控制台输出重定向到文件时,该文件为空。

我尝试同时使用三通,>,>>,2>&1 重定向文件始终为空

class MultiFolderProcess:
    queue = None

    def __init__(self, nb_workers):
        self.queue = mp.JoinableQueue()
        self.processes = [mp.Process(target=self.doprocessing) for i in range(nb_workers)]
        for p in self.processes:
            p.start()

    def addToQueue(self, item):
        self.queue.put(item)

    def doprocessing(self):
        while True:
            item = self.queue.get()
            if item is None:
                break
            self.walkFolders(item["id"])
            self.queue.task_done()

    # Recursively navigate through the folder structure
    def walkFolders(self, id):
        # code removed...
        print("Data from process")

    def terminate(self):
        self.queue.join()
        for p in self.processes:
            p.terminate()

def main():
    r = MultiFolderProcess(7)
    r.addToQueue({"id": 1655})
    r.terminate()

main()

0 个答案:

没有答案