<p>我正在用Python做一些I/O。从文件中读取时,我希望程序忽略该行的其余部分,如果遇到分号(;),则转到下一行。我有下面的代码,但只有当我的行以分号开头时才有效,而当分号是行中的其他位置时则不行。请帮忙,谢谢。
澄清:我想把每一行不带分号的部分逐行写入一个新文件。基本上,我想创建一个新文件,其中没有“;我想忽略这一点”。在</p>
<pre><code>def ignoreSemi():
for line in f:
for char in line:
if char == ";":
line = next(f)
</code></pre>
<p>你可以使用生成器,后半部会产生部分行前的分号</p>
<pre><code>def after_semi(input):
for line in input:
yield line.split(';')[0]
with open('output', 'w') as f:
for line in after_semi(input):
f.write('%s\n', line)
</code></pre>