<p>有一种方法可以做到这一点,逐字构建一个字符串,并在适当的地方添加<code>.\n</code>:</p>
<pre><code>#!/usr/bin/python
# -*- coding: utf-8 -*-
connectives=set(['കാരണം','അതുകൊണ്ട് ','പക്ഷേ','അതിനാല്','എങ്കിലും','എന്നാലും',
'എങ്കില്','എങ്കില്പോലും','എന്നതുകൊണ്ട് ','എന്ന', '.'])
s=""
with open('i.txt') as file:
for line in file:
for word in line.split():
if word in connectives:
s += '.\n'
else:
s += '{} '.format(word)
print s
</code></pre>
<p>注意,我将<code>'.'</code>添加到了<code>connectives</code>列表的末尾,并将其变成了<a href="https://docs.python.org/2/tutorial/datastructures.html#sets" rel="nofollow">^{<cd4>}</a>。集合是一种集合类型,对于快速成员身份测试非常有用,例如代码中的<code>if word in connectives:</code>。我还决定使用<a href="https://docs.python.org/2/library/stdtypes.html#str.format" rel="nofollow">^{<cd6>}</a>将<code>word</code>放入字符串中。如果愿意,这可以更改为<code>word + ' '</code>。你知道吗</p>
<p>输出:</p>
<pre><code>പ്രധാനമന്ത്രി മന്മോഹന്സിംഗ് നാട്ടില് എത്തി .
അദ്ദേഹം മലയാളി അല്ല .
അദ്ദേഹത്തെ പറ്റി പറയാന് വാക്കുകല്ളില്ല .
</code></pre>
<p>与另一个答案不同的是,在第一行之后的每行开始处的前导空格没有问题。你知道吗</p>
<p>顺便说一下,如果您对使用<a href="https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="nofollow">list comprehensions</a>感到满意,您可以将代码压缩为:</p>
<pre><code>#!/usr/bin/python
# -*- coding: utf-8 -*-
connectives=set(['കാരണം','അതുകൊണ്ട് ','പക്ഷേ','അതിനാല്','എങ്കിലും','എന്നാലും',
'എങ്കില്','എങ്കില്പോലും','എന്നതുകൊണ്ട് ','എന്ന', '.'])
with open('i.txt') as file:
s = ''.join(['.\n' if word in connectives else '{} '.format(word)
for line in file
for word in line.split()])
print s
</code></pre>