Page 47 - Python Simple
P. 47

6. Mô-đun                                                        http://www.vithon.org/tutorial/2.5/node8.html



             Câu lệnh này nhập tất cả mọi tên trừ những tên bắt đầu bằng dấu gạch chân
             (_).


             6.1.1 Đường dẫn tìm mô-đun


             Khi mô-đun tên spam được nhập vào, trình thông dịch sẽ tìm một tập tin tên
             spam.py trong thư mục hiện tại, rồi trong danh sách các thư mục được chỉ định
             bởi biến môi trường PYTHONPATH. Biến này có cùng cú pháp như là biến môi
             trường PATH, cùng chứa một danh sách tên các thư mục. Khi PYTHONPATH
             chưa được thiết lập, hoặc khi tập tin không được tìm thấy, việc tìm kiếm sẽ tiếp
             tục tìm trong đường dẫn mặc định tùy theo khi cài Python; trên UNIX, đường
             dẫn này thường là .:/usr/local/lib/python.


             Thật ra, mô-đun được tìm trong danh sách các thư mục chỉ định bởi biến
             sys.path đã được thiết lập từ thư mục chứa kịch bản nguồn (hoặc thư mục hiện
             tại), PYTHONPATH và các mặc định khi cài đặt. Điều này cho phép các chương
             trình Python thay đổi hoặc thay thế đường dẫn tìm mô-đun. Lưu ý rằng vì thư
             mục chứa kịch bản đang chạy nằm trong đường dẫn tìm kiếm, tên của kịch bản
             nhất thiết phải không trùng với tên các mô-đun chuẩn, nếu không thì Python sẽ
             cố sức nạp kịch bản như là một mô-đun khi mô-đun đó được nhập vào. Thông
             thường điều này sẽ gây lỗi. Xem mục 6.2, ``Các mô-đun chuẩn,'' để biết thêm
             chi tiết.


             6.1.2 Các tập tin Python ``đã dịch''



             Như một cách quan trọng để tăng tốc quá trình khởi động của các chương trình
             ngắn có dùng nhiều mô-đun chuẩn, nếu tập tin có tên spam.pyc tồn tại trong
             thư mục mà spam.py được tìm thấy, tập tin này được giả định là phiên bản đã
             được ``biên dịch byte'' (byte-compile) của mô-đun spam. Thời gian thay đổi của
             phiên bản spam.py dùng để tạo spam.pyc được lưu lại trong spam.pyc, và tập
             tin .pyc sẽ bị bỏ qua nếu chúng không khớp nhau.

             Thông thường, bạn không cần làm gì cả để tạo tập tin spam.pyc . Khi nào
             spam.py được biên dịch thành công, Python sẽ thử ghi phiên bản đã biên dịch
             ra spam.pyc. Nếu việc ghi này thất bại thì cũng không có lỗi gì xảy ra; nếu vì lý
             do gì đó mà tập tin không được ghi đầy đủ, tập tin spam.pyc sẽ bị đánh dấu là
             không hợp lệ và sẽ bị bỏ qua sau này. Nội dung của tập tin spam.pyc không
             phụ thuộc vào hệ thống, do đó một thư mục mô-đun Python có thể được chia xẻ
             với nhiều máy trên các kiến trúc khác nhau.


             Một vài mẹo cho chuyên gia:

                   Khi trình thông dịch Python được chạy với cờ -O , mã tối ưu được tạo và
                   lưu trong các tập tin .pyo . Trình tối ưu hóa hiện tại không giúp gì nhiều,
                   nó chỉ bỏ đi các lệnh assert . Khi -O được dùng, tất cả mã byte
                   (bytecode) đều được tối ưu; .pyc bị bỏ qua và .py được biên dịch ra mã
                   byte tối ưu.





     3 of 10                                                                                  08/31/2011 10:26 AM
   42   43   44   45   46   47   48   49   50   51   52