if ac !bcprint(irepr(ac)repr(bc)print(repr( [ - : + ])print(repr( [ - : + ])break '\ '\ 're>\ \ndef min(*args):\ \ tmp list(arg're>\ \ndef min(*args):\ tmp list(argsapparentlyi wound up with unix line end at one point in the local copy and dos line end in the version downloaded--the combined effect of the text mode used by the download script itself (which translated \ to \ \nand years of edits on both linux and windows pdas and laptops ( probably coded this change on linux and copied it to my local windows copy in binary modecode such as this could be integrated into the diffall script to make it more intelligent about text files and difference reporting because python excels at processing files and stringsit' even possible to go one step further and code python equivalent of the fc and diff commands in factmuch of the work has already been donethe standard library module difflib could make this task simple see the python library manual for details and usage examples we could also be smarter by avoiding the load and compare steps for files that differ in sizeand we might use smaller block size to reduce the script' memory requirements for most treessuch optimizations are unnecessaryreading multimegabyte files into strings is very fast in pythonand garbage collection reclaims the space as you go since such extensions are beyond both this script' scope and this size limitsthoughthey will have to await the attention of curious reader (this book doesn' have formal exercisesbut that almost sounds like onedoesn' it?for nowlet' move on to explore ways to code one more common directory tasksearch searching directory trees engineers love to change things as was writing this booki found it almost irresistible to move and rename directoriesvariablesand shared modules in the book examples tree whenever thought ' stumbled onto more coherent structure that was fine early onbut as the tree became more intertwinedthis became maintenance nightmare things such as program directory paths and module names were hardcoded all over the place--in package import statementsprogram startup callstext notesconfiguration filesand more one way to repair these referencesof courseis to edit every file in the directory by handsearching each for information that has changed that' so tedious as to be utterly impossible in this book' examples treethoughthe examples of the prior edition contained directories and , filesclearlyi needed way to automate updates after searching directory trees