我正在尝试执行以下操作。比较两个文本文件(Masterfile 和 usedfile)并将 Masterfile 的唯一值(两者都不常见)写入第三个文件(Newdata)。两个文件的每一行都有一个单词。例子:
主文件内容
Johnny
transfer
hello
kitty
used文件内容
transfer
hello
Newdata 中的预期输出
Johnny
kitty
我有两个解决方案,但都有问题
解决方案 1:这会在数据最终输出前提供像 -,+ 这样的信息。
import difflib
with open(r'C:\Master_Data.txt','r') as masterfile:
with open(r'C:\Used_Data.txt','r') as usedfile:
with open(r'c:\Ready_to_use.txt','w+') as Newdata:
tempmaster = masterfile.readlines()
tempusedfile = usedfile.readlines()
d = difflib.Differ()
diff = d.compare(tempmaster,tempusedfile)
for line in diff:
Newdata.write(line)
解决方案 2:我尝试使用 set ,当我使用 print 语句但不知道如何写入文件时显示正常。
with open(r'C:\Master_Data.txt','r') as masterfile:
with open(r'C:\Used_Data.txt','r') as usedfile:
with open(r'c:\Ready_to_use.txt','w+') as Newdata:
difference = set(masterfile).difference(set(usedfile))
print difference
任何人都可以建议
- 我如何更正解决方案 2 以写入文件。
- 我可以使用 difflib 来完成任务吗
- 任何更好的解决方案来实现最终结果