| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/Users/jiaqiang/PycharmProjects/tx_flow_analysis/venv/bin/python3
- # -*- coding: utf-8 -*-
- from __future__ import print_function
- import sys
- import json
- import jsonpatch
- import argparse
- parser = argparse.ArgumentParser(description='Diff two JSON files')
- parser.add_argument('FILE1', type=argparse.FileType('r'))
- parser.add_argument('FILE2', type=argparse.FileType('r'))
- parser.add_argument('--indent', type=int, default=None,
- help='Indent output by n spaces')
- parser.add_argument('-u', '--preserve-unicode', action='store_true',
- help='Output Unicode character as-is without using Code Point')
- parser.add_argument('-v', '--version', action='version',
- version='%(prog)s ' + jsonpatch.__version__)
- def main():
- try:
- diff_files()
- except KeyboardInterrupt:
- sys.exit(1)
- def diff_files():
- """ Diffs two JSON files and prints a patch """
- args = parser.parse_args()
- doc1 = json.load(args.FILE1)
- doc2 = json.load(args.FILE2)
- patch = jsonpatch.make_patch(doc1, doc2)
- if patch.patch:
- print(json.dumps(patch.patch, indent=args.indent, ensure_ascii=not(args.preserve_unicode)))
- sys.exit(1)
- if __name__ == "__main__":
- main()
|