2016-06-29 108 views
1

我创建了一个代码来获取两个.txt文件,将它们进行比较并将结果导出到另一个.txt文件。下面是我的代码(抱歉有关混乱)。将结果写入.txt文件

任何想法?或者我只是一个傻子?

使用Python 3.5.2:

# Barcodes Search (V3actual) 

# Import the text files, putting them into arrays/lists 

with open('Barcodes1000', 'r') as f: 
    barcodes = {line.strip() for line in f} 

with open('EANstaging1000', 'r') as f: 
    EAN_staging = {line.strip() for line in f} 

##diff = barcodes^EAN_staging 
##print (diff) 



in_barcodes_but_not_in_EAN_staging = barcodes.difference(EAN_staging) 

print (in_barcodes_but_not_in_EAN_staging) 

# Exporting in_barcodes_but_not_in_EAN_staging to a .txt file 

with open("BarcodesSearch29_06_16", "wt") as BarcodesSearch29_06_16: # Create .txt file 
    BarcodesSearch29_06_16.write(in_barcodes_but_not_in_EAN_staging) # Write results to the .txt file 
+0

具体问题是什么?预期的行为是什么?你需要解释发生了什么,而不只是说'任何想法?'。 –

+3

你是否遇到特定错误? - 您也可以在代码块中设置您的帖子的格式。开始任意行的4个空格开始一个代码块 – sytech

+0

@Rick S对于模糊的问题抱歉。结果没有出现在文本文件中,就像他们应该那样。 – minidave2014

回答

1

尝试BarcodesSearch29_06_16.write(str(in_barcodes_but_not_in_EAN_staging))。另外,在完成与BarcodesSearch29_06_16.close()的书面记录后,您需要关闭该文件。

+0

谢谢,这真的有帮助! – minidave2014

2

从评论到你的问题,这听起来像你的问题是你想保存你的字符串列表作为一个文件。 File.write需要单个字符串作为输入,而File.writelines需要一个字符串列表,这是您的数据看起来是什么。

with open("BarcodesSearch29_06_16", "wt") as BarcodesSearch29_06_16: 
    BarcodesSearch29_06_16.writelines(in_barcodes_but_not_in_EAN_staging) 

将通过您的列表in_barcodes_but_not_in_EAN_staging迭代,每个元素写成的文件BarcodesSearch29_06_16在一个单独的线。