私はPython dict形式で何千もの行を含む多数の大きなファイルを持っています。私はjson.dumpsでjson文字列に変換しています。Python DictをマルチスレッドファッションのJSONに変換するにはどうすればいいですか
import json
import ast
mydict = open('input', 'r')
output = open('output.json', "a")
for line in mydict:
line = ast.literal_eval(line)
line = json.dumps(line)
output.write(line)
output.write("\n")
これは完璧に機能しますが、これは単一のスレッド形式で行われます。物事をスピードアップするためにシステム内の残りのコアを利用する簡単な方法はありますか?
編集:私はマルチプロセッシング・ライブラリとここに始めた提案に基づいて
:
import os
import json
import ast
from multiprocessing import Process, Pool
mydict = open('twosec.in', 'r')
def info(title):
print title
print 'module name:', __name__
print 'parent process: ', os.getppid()
print 'process id:', os.getpid()
def converter(name):
info('converter function')
output = open('twosec.out', "a")
for line in mydict:
line = ast.literal_eval(line)
line = json.dumps(line)
output.write(line)
output.write("\n")
if __name__ == '__main__':
info('main line')
p = Process(target=converter, args=(mydict))
p.start()
p.join()
プールの出番私はかなり理解していない、あなたはより多くを説明できますか?
を使用して、PNG形式にDICOMファイルを変換するプログラムの完全な例であります複数のスレッドを使用して*変換*を行います。 – poke