copiar arquivos multi-processo Seção VI

. 1  importação SO
 2  importação multiprocessamento
 3.  Importação SO
 4.  Importação Tempo
 5.  
6.  DEF copy_file (old_file, novoarquivo, Q):
 . 7          "" " Data Copy " "" 
. 8          old_f = Aberto (old_file, ' RB ' )
 . 9          old_content = old_f.read ()
 10          old_f.close ()
 . 11          # abrir uma nova cópia do arquivo começar 
12 é          # impressão (o os.listdir (novoarquivo)) 
13 é          new_filex = open (novoarquivo, ' WB ')
 14          new_filex.write (old_content)
 15          new_filex.close ()
 16          . Q.put (1 )
 . 17          . A time.sleep (1 )
 18 é  
. 19  DEF principal ():
 20 é      # . 1, adquire o nome de cada ficheiro de pasta 
21 é      old_path = I & lt ' L: \ Teste ' 
22 é      OLD_FILENAME = o os.listdir (old_path)
 23 é      # impressão (OLD_FILENAME) 
24      # 2, para criar uma nova pasta para armazenar uma cópia de um 
25      new_path P & lt = ' L: \\ ' 
26 é      NEW_FILENAME = ' testcopy' 
27      new_filename_path = os.path.join (new_path, NEW_FILENAME)
 28      os.mkdir (new_filename_path)
 29      # 3,拷贝函数
30      # copy_file (OLD_FILENAME, old_path, NEW_FILENAME) 
31      # 4,创建进程池
32      po = multiprocessing.Pool (3 )
 33      q = multiprocessing.Manager () Fila ().
 34      para x em OLD_FILENAME:
 35          old_file = os.path.join (old_path, x)
 36          novoarquivo = os.path.join (new_filename_path, x)
 37         po.apply_async (copy_file, (old_file, novoarquivo, Q))
 38 é      po.close ()
 39      # po.join () 
40      # . 6, copiar visor progresso, cancelar po.join (), para terminar o ciclo principal do processo enquanto bloqueia por 
41 é      ao mesmo tempo verdadeira:
 42 é          NUM = q.qsize ()
 43 é          NUM_ALL = len (OLD_FILENAME)
 44 é          impressão ( ' \ R & lt cópia progresso de :. 02F %%% ' % (NUM * 100 / NUM_ALL))
 45          sE NUM == NUM_ALL :
 46 é              RUPTURA 
47  
48  sE  o __name__ == ' __main__ ' :
49      principal ()

 

Acho que você gosta

Origin www.cnblogs.com/kogmaw/p/12575482.html
Recomendado
Clasificación