Łatwo to zrobić przez przecięcie zbiorów. Nieco niechlujne:
def unique_numbers(filename1, filename2):
map_file = lambda filename: set((value for value in open(filename)))
return map_file(filename1) & map_file(filename2)
if __name__ == '__main__':
print(unique_numbers("LiczbyPierwsze.txt", "ZbiorLiczb2.txt"))
Trochę bardziej zadbane, to przetworzenie na int:
def unique_numbers(filename1, filename2):
map_file = lambda filename: set(map(int, (value for value in open(filename))))
return map_file(filename1) & map_file(filename2)
if __name__ == '__main__':
print(unique_numbers("LiczbyPierwsze.txt", "ZbiorLiczb2.txt"))
PS. Oczywiście nie sprawdzałem czy pliki są dostępne i czytelne. Także dla plików o ekstremalnej objętości, proponował bym inne rozwiązanie.