【问题标题】:How to rewrite three distincts list into three files?如何将三个不同的列表重写为三个文件?
【发布时间】:2020-05-12 14:26:05
【问题描述】:

我有三个包含大量信息的 distinsts 列表。我想重写它们,每个都在一个特定的文件中,但同时。

我想出了这段代码,但我如何调整它以同时为其他文件和列表(1 和 2)运行

print(len(list_0))
print(len(list_1))
print(len(list_2))

outfile0 = 'corpus_phrases_mais.tsv'
outfile1 = 'corpus_phrases_lexique.tsv'
outfile2 = 'corpus_phrases_exp.tsv'

sous_dir = 'corpus_extract'

out_path = os.path.join(outdir, sous_dir)
if not os.path.exists(out_path):
    os.makedirs(out_path)


with open(os.path.join(out_path, outfile0), 'w', newline='', encoding='utf-8') as f_out: # encoding='utf-8', newline='') as f_out:
    tsv_output = csv.writer(f_out, delimiter='\t')  # \t => séparateur
    #tsv_output.writerow(['Verbatim','polarity', 'Nombre'])   # write first line
    tsv_output.writerow(['Verbatim'])

    for idx, line in enumerate(list_1):
      #tsv_output.writerow([line, labels[idx], numbers[idx]])
      tsv_output.writerow([line])

    print('Finished writing sentences to {}. : '.format(out_path))

【问题讨论】:

标签: python python-3.x file


【解决方案1】:

您可以创建一个函数write_in_file(data, filepath) 并使用多处理包在不同的进程中运行。 (https://docs.python.org/fr/3/library/multiprocessing.html)

from multiprocessing import Process
...
p1 = Process(target=write_in_file, args=(output0, filepath0)) 
p2 = Process(target=write_in_file, args=(output1, filepath1)) 
p3 = Process(target=write_in_file, args=(output2, filepath2)) 
p1.start()
p2.start()
p3.start()

// Wait process end
p1.join()
p2.join()
p2.join()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多