重新创建一个句子,重新创建的句子缺少所有逗号

时间:2017-05-02 10:39:36

标签: python

我正在尝试创建一个程序,该程序应该能够将文件压缩为单词列表和位置列表以重新创建原始文件。它还应该能够获取压缩文件并重新创建原始文件的全文,包括标点符号和大小写。

到目前为止,我有这个:

file = open("task3paragraph.txt", "w")
file.write ("Two little dicky birds sitting on a wall, one named Peter, one 
named Paul. Fly away Peter, fly away Paul, come back Peter, come back 
Paul.Into the gardens the little birds go, looking for worms that hide down 
low. Peter can’t catch one, neither can Paul, back home Peter, back home 
Paul!")
file.close()


file = open("task3paragraph.txt", "r")
paragraph = file.read()
para  = paragraph.split()
positions = [para.index(x)+1 for x in para]
para2 = str(para)
pos = str(positions)
file.close()


file = open("task3lists.txt", "w")
file.write(para2)
file.write("\n")
file.write(pos)
file.close()


file = open("task3lists.txt", "r")
words = file.readlines()
sentence = words[0].replace("
[","").replace("]","").replace("'","").replace(",","")
file.close()


file = open("task3recreated", "w")
file.write(sentence)
file.close()

除了在我运行它的时候,它完美无缺,因为重新创建的句子没有逗号:

  

两只小d鸟坐在墙上,一只叫彼得,名叫保罗。飞走了彼得飞走了保罗回来彼得回来了保罗。在花园里,小鸟们正在寻找隐藏在低处的蠕虫。彼得不能抓到一个也不能保罗回到家里彼得回到家里保罗!

缺少原始句子的所有逗号:

  

两只小矮人坐在墙上,一只名叫彼得,一只名叫保罗。飞走了彼得,飞走了保罗,回到彼得身边,回到保罗身边。小花鸟去了花园,寻找隐藏在低处的蠕虫。彼得不能抓住一个人,保罗也不能回到家里彼得,回到家里保罗!

我希望我重新创建的句子与原始句子具有相同数量的逗号。我如何解决它?

  • 另外,我删除了.replace(“,”,“”),这使情况变得更糟,因为它给了我太多逗号:
      

    两个,小小的,dicky,鸟儿,坐着,一个,墙壁,一个,名字,彼得,一个,名字,保罗。,飞,离开,彼得,飞,离开,保罗,来,回来,彼得,来,回来,保罗。进入,花园,小,鸟,去,看,为,蠕虫,那,隐藏,向下,低,彼得,不能,抓住,一个,不,可以,保罗,回来,回家,彼得,回来,回家,保罗!

1 个答案:

答案 0 :(得分:0)

您可以替换:

sentence = words[0].replace("[","").replace("]","").replace("'","").replace(",","")

使用:

sentence = words[0].replace("[","").replace("]","").replace("',","").replace("'", "")

您应该只替换前面带引号的逗号,而不是用空字符串替换所有逗号。