Comment imprimer la comparaison de deux chaînes multilignes dans le format de différences unifiées?

Connaissez-vous une librairie qui va aider à faire cela?

Je voudrais écrire une fonction qui imprime les différences entre les deux multiligne des chaînes dans le format de différences unifiées. Quelque chose comme ça:

def print_differences(string1, string2):
    """
    Prints the comparison of string1 to string2 as unified diff format.
    """
    ???

Un exemple d'utilisation est le suivant:

string1="""
Usage: trash-empty [days]

Purge trashed files.

Options:
  --version   show program's version number and exit
  -h, --help  show this help message and exit
"""

string2="""
Usage: trash-empty [days]

Empty the trash can.

Options:
  --version   show program's version number and exit
  -h, --help  show this help message and exit

Report bugs to http://code.google.com/p/trash-cli/issues
"""

print_differences(string1, string2)

Cela devrait afficher quelque chose comme ça:

--- string1 
+++ string2 
@@ -1,6 +1,6 @@
 Usage: trash-empty [days]

-Purge trashed files.
+Empty the trash can.

 Options:
   --version   show program's version number and exit

OriginalL'auteur Andrea Francia | 2009-05-10