我创建了一个代码来获取两个.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 :(得分: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
。
答案 1 :(得分:1)
试试BarcodesSearch29_06_16.write(str(in_barcodes_but_not_in_EAN_staging))
。此外,在您使用BarcodesSearch29_06_16.close()
写入文件后,您还要关闭该文件。