现在它返回的是目录中所有文件的列表,而不是目录和文本文件之间的差异。有什么想法吗?你知道吗
import os, sys
path = "C:\\Users\\INstokes\\Desktop\\CityPts\\"
old_files = "C:\\Users\\INstokes\\Desktop\\CityPts\\file.txt"
new_files = os.listdir( path )
text_file = open(old_files, "r")
old_list = text_file.readlines()
s = set(old_list)
temp3 = [x.strip() for x in new_files if x.strip() not in old_list]
print temp3
text_file.close()
这里的问题是,当您使用^{} 时,您会得到一个包含行尾的行列表。你知道吗
所以你得到了这样的回报:
那么在这行:
您将
new_files
中的每个文件路径与old_list
中的文件路径进行比较,后者的末尾都有换行符,因此它们当然永远不会匹配(您也永远不会使用所创建的集s
,尽管这只是性能问题)。你知道吗实际上,您希望从
old_list
剥离,而不是从new_files
剥离:把它们放在一起,稍微浓缩一下:
相关问题 更多 >
编程相关推荐