1. Trang chủ
  2. » Thể loại khác

tool utility trong python

5 88 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Tool/Utility trong Python

    • dis Module trong Python

      • Ví dụ

    • pdb Module trong Python

      • Ví dụ

    • profile Module trong Python

      • Ví dụ

    • tabnanny Module trong Python

      • Ví dụ

Nội dung

http://vietjack.com/python/index.jsp Copyright © vietjack.com Tool/Utility Python Chương giới thiệu số Module hữu ích mà bạn nên biết có thư viện Python chuẩn dis Module Python dis Module disassembler Python Nó chuyển đổi byte code thành định dạng xác cho người dùng Bạn chạy disassembler từ command line Nó thơng dịch script cho in byte code tách tới STDOUT Bạn sử dụng Module Hàm dis nhận lớp, phương thức, hàm đối tượng code tham số đơn Ví dụ: Ví dụ import dis def sum(): vara = 10 varb = 20 sum = vara + varb print "vara + varb = %d" % sum # Goi ham dis dis.dis(sum) Kết là: LOAD_CONST (10) STORE_FAST (vara) LOAD_CONST (20) STORE_FAST (varb) 12 LOAD_FAST (vara) 15 LOAD_FAST (varb) http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com 18 BINARY_ADD 10 19 STORE_FAST (sum) 22 LOAD_CONST ('vara + varb = %d') 25 LOAD_FAST (sum) 28 BINARY_MODULO 29 PRINT_ITEM 30 PRINT_NEWLINE 31 LOAD_CONST (None) 34 RETURN_VALUE pdb Module Python pdb Module Debugger chuẩn Python Nó dựa bdb Debugger Framework Bạn chạy Debugger từ command line (gõ n next để tới dòng help để lấy danh sách lệnh có sẵn) Ví dụ Trước bạn chạy pdb.py, thiết lập path cách thích hợp tới thư mục Python lib Sau bạn thử ví dụ sum.py $pdb.py sum.py > /test/sum.py(3)() -> import dis (Pdb) n > /test/sum.py(5)() -> def sum(): (Pdb) n >/test/sum.py(14)() -> dis.dis(sum) (Pdb) n LOAD_CONST (10) STORE_FAST (vara) LOAD_CONST (20) http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp STORE_FAST Copyright © vietjack.com (varb) 12 LOAD_FAST (vara) 15 LOAD_FAST (varb) 18 BINARY_ADD 10 19 STORE_FAST (sum) 22 LOAD_CONST ('vara + varb = %d') 25 LOAD_FAST (sum) 28 BINARY_MODULO 29 PRINT_ITEM 30 PRINT_NEWLINE 31 LOAD_CONST (None) 34 RETURN_VALUE Return-> /test/sum.py(14)()->None -v dis.dis(sum) (Pdb) n Return-> (1)()->None (Pdb) profile Module Python profile Module Profiler chuẩn Python Bạn chạy từ command line Ví dụ Chúng ta thử profile chương trình sau: vara = 10 varb = 20 sum = vara + varb http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com print "vara + varb = %d" % sum Bây thử chạy cProfile.py thông qua sum.py sau: $cProfile.py sum.py vara + varb = 30 function calls in 0.000 CPU seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno 0.000 0.000 0.000 0.000 :1() 0.000 0.000 0.000 0.000 sum.py:3() 0.000 0.000 0.000 0.000 {execfile} 0.000 0.000 0.000 0.000 {method } tabnanny Module Python tabnanny Module kiểm tra source file Python xem có độ thụt dòng mơ hồ hay khơng Nếu file mà xóa trộn tab space, tất nhiên khơng vấn đề với kích cỡ tab bạn sử dụng, tabnanny đưa lời phàn nàn ví dụ sau: Ví dụ Chúng ta thử profile chương trình sau: vara = 10 varb = 20 sum = vara + varb print "vara + varb = %d" % sum Nếu bạn thử với tabnanny.py, đưa lời phàn nàn: $tabnanny.py -v sum.py 'sum.py': Clean bill of health http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp http://vietjack.com/ Trang chia sẻ học online miễn phí Copyright © vietjack.com Page ... 29 PRINT_ITEM 30 PRINT_NEWLINE 31 LOAD_CONST (None) 34 RETURN_VALUE pdb Module Python pdb Module Debugger chuẩn Python Nó dựa bdb Debugger Framework Bạn chạy Debugger từ command line (gõ n next... dis.dis(sum) (Pdb) n Return-> (1)()->None (Pdb) profile Module Python profile Module Profiler chuẩn Python Bạn chạy từ command line Ví dụ Chúng ta thử profile chương trình sau:... 0.000 0.000 {execfile} 0.000 0.000 0.000 0.000 {method } tabnanny Module Python tabnanny Module kiểm tra source file Python xem có độ thụt dòng mơ hồ hay khơng Nếu file mà xóa trộn tab space,

Ngày đăng: 02/12/2017, 12:28

TỪ KHÓA LIÊN QUAN