Pythonでは、「%s」を使用して配列から文字列に要素を追加しようとしています。
ただし、コンパイル時には、配列のサイズと、補間している文字列は不明です。アイデアは、別のファイルからテキストをプルするmadlibsタイプのスクリプトを作成しているということです。
現在のコード:
from sys import argv
script, input = argv
infile = open(input)
madlibs = eval(infile.readline())
words = []
for word in madlibs:
words.append(raw_input("Give me a %s: " % word))
print infile.read() % words
したがって、入力ファイルの最初の行にはmadlibの質問が含まれ、後続のテキストにはストーリーが含まれています。これが私が使用している入力ファイルの例です:
["noun", "verb", "verb", "noun"]
There once was a %s named Bill.
He liked to %s all the time.
But he did it too much, and his girlfriend got mad.
She then decided to %s him to get back at him.
He died. It's a sad story.
They buried him. And on his tombstone, they placed a %s.
したがって、理想的な世界では、
print infile.read() % words
「words」の要素をファイルから取得した文字列に補間するだけなので、機能します。
しかし、そうではなく、私はアイデアがありません。何か助けはありますか?