Tool/Utility Trong Python

Tool/Utility trong Python Trang trước Trang sau

Chương này giới thiệu một số Module hữu ích mà bạn nên biết có trong thư viện Python chuẩn.

dis Module trong Python

dis Module là disassembler của Python. Nó chuyển đổi byte code thành một định dạng chính xác hơn cho người dùng. Bạn có thể chạy disassembler này từ command line. Nó thông dịch script đã cho và in byte code đã được tách tới STDOUT. Bạn cũng có thể sử dụng nó như là một Module. Hàm dis nhận một lớp, phương thức, hàm hoặc đối tượng code như là tham số đơn của 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 quả là:

6 0 LOAD_CONST 1 (10) 3 STORE_FAST 0 (vara) 7 6 LOAD_CONST 2 (20) 9 STORE_FAST 1 (varb) 9 12 LOAD_FAST 0 (vara) 15 LOAD_FAST 1 (varb) 18 BINARY_ADD 19 STORE_FAST 2 (sum) 10 22 LOAD_CONST 3 ('vara + varb = %d') 25 LOAD_FAST 2 (sum) 28 BINARY_MODULO 29 PRINT_ITEM 30 PRINT_NEWLINE 31 LOAD_CONST 0 (None) 34 RETURN_VALUE

pdb Module trong Python

pdb Module là Debugger chuẩn của Python. Nó được dựa trên bdb Debugger Framework.

Bạn có thể chạy Debugger này từ command line (gõ n hoặc next để tới dòng tiếp theo và help để lấy danh sách các lệnh có sẵn).

Quảng cáo

Ví dụ

Trước khi bạn chạy pdb.py, thiết lập path của mình một cách thích hợp tới thư mục Python lib. Sau đó bạn có thể thử ví dụ sum.py trên.

$pdb.py sum.py > /test/sum.py(3)<module>() -> import dis (Pdb) n > /test/sum.py(5)<module>() -> def sum(): (Pdb) n >/test/sum.py(14)<module>() -> dis.dis(sum) (Pdb) n 6 0 LOAD_CONST 1 (10) 3 STORE_FAST 0 (vara) 7 6 LOAD_CONST 2 (20) 9 STORE_FAST 1 (varb) 9 12 LOAD_FAST 0 (vara) 15 LOAD_FAST 1 (varb) 18 BINARY_ADD 19 STORE_FAST 2 (sum) 10 22 LOAD_CONST 3 ('vara + varb = %d') 25 LOAD_FAST 2 (sum) 28 BINARY_MODULO 29 PRINT_ITEM 30 PRINT_NEWLINE 31 LOAD_CONST 0 (None) 34 RETURN_VALUE --Return-- > /test/sum.py(14)<module>()->None -v dis.dis(sum) (Pdb) n --Return-- > <string>(1)<module>()->None (Pdb) Quảng cáo

profile Module trong Python

profile Module là Profiler chuẩn của Python. Bạn có thể chạy nó từ command line.

Ví dụ

Chúng ta thử profile chương trình sau:

vara = 10 varb = 20 sum = vara + varb print "vara + varb = %d" % sum

Bây giờ thử chạy cProfile.py thông qua sum.py như sau:

$cProfile.py sum.py vara + varb = 30 4 function calls in 0.000 CPU seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno 1 0.000 0.000 0.000 0.000 <string>:1(<module>) 1 0.000 0.000 0.000 0.000 sum.py:3(<module>) 1 0.000 0.000 0.000 0.000 {execfile} 1 0.000 0.000 0.000 0.000 {method ......}

tabnanny Module trong Python

tabnanny Module kiểm tra các source file của Python xem có độ thụt dòng nào mơ hồ hay không. Nếu một file mà xóa trộn tab và space, thì tất nhiên là không vấn đề gì với kích cỡ tab bạn đang sử dụng, nhưng tabnanny sẽ đưa ra lời phàn nàn như trong 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, thì nó sẽ đưa ra lời phàn nàn:

$tabnanny.py -v sum.py 'sum.py': Clean bill of health. Trang trước Trang sau Bài viết liên quan
  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Từ khóa » Cách Viết Tool Bằng Python