-3

私はプログラミングに本当に慣れていないので、これまで満足のいく答えを見つけることができませんでした。私はpythonを使用しています.3つのテキストファイルをマージしたいのですが、可能なすべての単語の組み合わせを受け取ります。私は3つのファイルを持っています:

最初のファイル:

line1
line2
line3

2 番目のファイル (プレフィックス):

pretext1
pretext2
pretext3

3 番目のファイル (サフィックス):

suftext1
suftext2
suftext3

私はすでに .read() を使用しており、各テキストファイルのリストを含む変数を持っています。ここで、この 3 つのファイルを 1 つにマージする関数を書きたいと思います。これは次のようになります。

出力ファイル:

pretext1 line1 suftext1 #this is ONE line(str)
pretext2 line1 suftext1
pretext3 line1 suftext1
pretext1 line1 suftext2
pretext1 line1 suftext3

など、あなたはアイデアを得る

出力として 1 つのテキストファイルに可能なすべての組み合わせが必要です。ループ内でループを使用する必要があると思いますか?!

4

2 に答える 2

2

あなたの質問が正しければ、ここにあります。最初に、os パッケージを含む正しいフォルダーにフォーカスする必要があります。

import os
os.chdir("The_path_of_the_folder_containing_the_files")

次に、3 つのファイルを開き、単語をリストに入れます。

file_1 = open("file_1.txt")
file_1 = file_1.read()
file_1 = file_1.split("\n")

file_2 = open("file_2.txt")
file_2 = file_2.read()
file_2 = file_2.split("\n")

file_3 = open("file_3.txt")
file_3 = file_3.read()
file_3 = file_3.split("\n")

ループを使用して、出力ファイルに必要なテキストを作成します。

text_output = ""
for i in range(len(file_2)):
    for j in range(len(file_1)):
        for k in range(len(file_3)):
            text_output += file_2[i] + " " + file_1[j] + " " + file_3 [k] + "\n"

そして、そのテキストを出力ファイルに入力します (そのファイルが存在しない場合は作成されます)。

file_output = open("file_output.txt","w")
file_output.write(text_output)
file_output.close()
于 2015-06-24T13:15:41.123 に答える