2016-12-27 3 views
-1

Я пытаюсь дифф между 2 файлов в PythonPython дифф не работает во всех файлах

Я попытался с помощью этого кода:

with open(file_1, "r") as file1: 
    with open(file_2, "r") as file2: 
     diff = set(file1).difference(file2) 

with open(file_o, "w") as file_out: 
    for line in diff: 
     file_out.write(line) 
file_out.close() 
if os.path.getsize(file_o) == 0: 
    print "match" 
else: 
    print "does not match" 

Но я столкнулся вопрос, используя его, его не работает для всех файлов!

Это совершенно странно, любая идея почему? и как я могу это исправить?

если есть очень быстрый способ для сравниваете 2 файлов без чувствительны к порядку линии, был бы благодарен

Благодаря

+0

Какова ваша цель? Существуют и другие инструменты, которые предлагают лучшие решения, если вы просто хотите увидеть различия между двумя файлами. – MYGz

+0

Я хочу проверить, совпадают ли они, если файлы не совпадают, тогда я хочу напечатать различия с выходным файлом –

+0

@MYGz. Я хотел бы иметь лучшие решения, особенно если они быстрее. Спасибо –

ответ

0

ли дают нам больше входного сигнала, почему он не работает. С головы до головы, глядя на ваш код, сравнение, чтобы посмотреть, открыт ли файл или нет, довольно рискованно. Индекс для файла может иметь размер, даже если он пуст. Если вы хотите, то что вы можете сделать, это проверить, является ли diff пустым, а не файл, который лучше подходит для сравнения.

+0

ничего особенного в том, что входные файлы не сработали, есть 2 файла txt из 60 строк, я проверил выходной файл и его пустой tho –