在python脚本中,我使用difflib.unified_diff()
函数来接收两个文件的差异。接着,将这个example,我叫writelines()函数在屏幕上书写结果:Python:writelines()第二次调用返回空
diff = difflib.unified_diff(....)
sys.stdout.writelines(diff)
于是,我也想写在一个文件的不同,但是我收到一个空文件。这里出现了一个奇怪的部分:如果我交换两个writelines()调用的顺序,我会得到一个正确的文件,但是屏幕输出为空。同样的问题也可以通过调用最后一个命令两次来重现,如下所示:
diff = difflib.unified_diff(....)
sys.stdout.writelines(diff)
sys.stdout.writelines(diff)
这将只打印diff一次。
我想第二次函数继续从差异的相同(即最后一个)“行”,并没有任何东西要写。所以,必须有某种迭代器需要重置,但我找不到什么以及如何...
非常感谢您的即时答复!有效! :-D – MakisH