2017-09-27 22 views
-1

我有六個線程如何爲每個Python線程打開文件?

class ConsumerThread(Thread): 
    def __init__(self,queue): 
     super(ConsumerThread, self).__init__() 
     self.queue = queue 


    def run(self): 
     item = queue.get() 
     parser = MyHTMLParser() 
     new_con = parser.feed(item) 
     print(new_con) 
     queue.task_done() 

我想把new_con到文件中,單個文件的一個線程。

+0

你關心每個文件的命名嗎? –

+0

使用「打開」功能?究竟是什麼問題?你有沒有想出獨特的文件名? –

+0

@Rawing現在,我應該在哪裏放置開放以及如何獨立於線程? – MCB

回答

0
class ConsumerThread(Thread): 
    def __init__(self,queue): 
     super(ConsumerThread, self).__init__() 
     self.queue = queue 


    def run(self): 
     item = queue.get() 
     parser = MyHTMLParser() 
     new_con = parser.feed(item) 
     with open('file_name-%s' % self.getName(), 
        mode='w', encoding='utf8') as f: 
      print(new_con, file=f) 
     queue.task_done() 

這將產生與文件的名稱,如file_name-Thread-1等,你可能想使用的東西比這更好,但作爲第一炮,這能解決你的問題。