我正在尝试编写一个清理文本文件的程序;具体来说,我正在尝试清理莎士比亚的“仲夏夜之梦”的副本。我正在尝试编写一个代码,该代码将消除脚本中的舞台方向,以便此文本:
忒修斯 去,吩咐猎人用喇叭叫醒他们。
[喇叭,并在里面喊叫。德米特里厄斯、拉山德、赫米娅和海伦娜醒了
并启动。]
早安,朋友们。圣瓦伦丁过去了;开始这些木鸟,但现在要结对了吗?
拉山德 对不起,大人。
[他和其他人向忒修斯跪下。]
忒修斯
求大家,站起来。我知道你们两个是敌对的敌人;世间何来这温柔的默契, 恨与嫉妒相去甚远, 以恨入睡, 不怕敌意?
变成这个文本:
忒修斯 去,吩咐猎人用喇叭叫醒他们。
早安,朋友们。圣瓦伦丁过去了;开始这些木鸟,但现在要结对了吗?
拉山德 对不起,大人。
忒修斯
求大家,站起来。我知道你们两个是敌对的敌人;世间何来这温柔的默契, 恨与嫉妒相去甚远, 以恨入睡, 不怕敌意?
这是我编写的代码,但是在我假设的 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。