テキスト ファイルをクリーンアップするプログラムを作成しようとしています。具体的には、シェイクスピアの「真夏の夜の夢」のコピーをクリーンアップしようとしています。スクリプトからステージの指示を削除するコードを作成しようとしています。そのため、このテキストは次のようになります。
テセウス 行って、猟師に角で目を覚ますように命じてください。
[角、そして内なる叫び。目覚めたデメトリウス、ライサンダー、ハーミア、ヘレナ
起動します。 ]
おはよう、友達。聖バレンタインは過ぎ去りました。これらの木の鳥を始めますが、今カップルにするのですか?
LYSANDER 申し訳ございません、ご主人様。
[彼と残りはテセウスにひざまずく。]
テセウス
皆様、立ち上がってください。お二人がライバルであることは承知しています。憎しみは嫉妬とはかけ離れていて 憎しみによって眠り、敵意を恐れないというこの穏やかな調和が、どうして世界に生まれるのでしょうか?
次のテキストになります。
テセウス 行って、猟師に角で目を覚ますように命じてください。
おはよう、友達。聖バレンタインは過ぎ去りました。これらの木の鳥を始めますが、今カップルにするのですか?
LYSANDER 申し訳ございません、ご主人様。
テセウス
皆様、立ち上がってください。お二人がライバルであることは承知しています。憎しみは嫉妬とはかけ離れていて 憎しみによって眠り、敵意を恐れないというこの穏やかな調和が、どうして世界に生まれるのでしょうか?
これは私が書いたコードですが、私が想定している while ループでハングアップしています。どんな助けでも大歓迎です!
def cleanDirections(inFilename, outFilename):
inFile = open(inFilename, "r")
outFile = open(outFilename, "w")
line = inFile.readline()
while line != "":
if line.startswith("[") == True:
if line.endswith("]") == True:
line = inFile.readline()
else:
while line.endswith("]") == False:
line = inFile.readline()
line = inFile.readline()
else:
outFile.write(line)
line = inFile.readline()
また、この種の構文でヘルプを提供できれば、それは素晴らしいことです。私はまだ学習中なので、より高度な Python についてはまだ知りません。