【发布时间】:2026-01-31 22:20:05
【问题描述】:
我正在尝试编写一个清理文本文件的程序;具体来说,我正在尝试清理莎士比亚的“仲夏夜之梦”的副本。我正在尝试编写一个代码来消除脚本中的舞台方向,以便此文本:
THESEUS 去,吩咐猎人用喇叭叫醒他们。
[喇叭,在里面大喊。德米特里厄斯、拉山德、赫米亚和海伦娜醒了
然后启动。]
早安,朋友们。圣瓦伦丁过去了;开始这些木鸟 但现在要结对了吗?
LYSANDER 对不起,大人。
[他和其他人向忒修斯跪下。]
忒修斯
我祈祷你们都站起来。我知道你们两个是敌对的敌人;世间何来这温柔的默契,那恨何以如此 远离嫉妒 怀着仇恨入睡,不惧怕仇恨?
变成这样的文字:
THESEUS 去,吩咐猎人用喇叭叫醒他们。
早安,朋友们。圣瓦伦丁过去了;开始这些木鸟 但现在要结对了吗?
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。
【问题讨论】:
标签: python file python-3.x while-loop readline