我想在文本文件中搜索特定的单词。对于每一行,其中的单词,我想完全改变一个新的文本行。在
我想使用python的fileinput
模块来实现这一点。有两个观察结果,我看到以下变化:
代码段1:-
text = "mov9 = " # if any line contains this text, I want to modify the whole line.
new_text = "mov9 = Alice in Wonderland"
x = fileinput.input(files="C:\Users\Admin\Desktop\DeletedMovies.txt", inplace=1)
for line in x:
if text in line:
line = new_text
print line,
x.close()
上面的代码清除了文件的所有内容,并写入new_text
,即文件内容仅
mov9 = Alice in Wonderland
代码段2:-
^{pr2}$上面的代码段,即使添加了所需的行,即new_text
,其中text
,但没有删除该行,而是保留了之前的数据。在
也就是说,如果电话是早一点的话:-
mov9 = Fast & Furios
运行上述代码后,它将变为:-
mov9 = Alice in WonderlandFast & Furios
文件的其他内容保持不变,不像代码段1中的代码那样被删除。在
但是我的目标是找到单词mov9 =
,无论它是什么,我都想把整行替换成mov9 = Alice in Wonderland
。在
我怎么才能做到呢?提前谢谢。。。。在
我意识到我错了。在问题中提到的代码段1中,如果我把“打印线”从if的范围中带出来,也就是说,如果我升级了它,那么这个问题就解决了。。。在
由于这一行在}。因此,代码段应如下所示:
if
的范围内,因此只有这一行被写入到文件中,而其他行没有被写入,因此文件只剩下{而且,Rolf of Saxony给出的第二个解和{a2}给出的第一个解在某种程度上是相似的。在
正如Vysond所建议的那样:
我建议同时使用两个文件来替换文本,并将替换的数据写入另一个文件,然后简单地删除旧文件。在
现在您可以在内部删除打开的文件。 它很小很简单,但是在处理大文件时可能会占用CPU的负载。在
相关问题 更多 >
编程相关推荐