Hướng dẫn sys exit trong python



Module sys trong Python cung cấp các hàm và các biến được sử dụng để thao tác các phần khác nhau của môi trường chạy Python. Nó cho phép chúng ta truy cập các tham số và chức năng cụ thể của hệ thống.

Sau đây là các hàm phổ biến trong Module Python:

Hàm sys.modules

Hàm này cung cấp tên của các Module python hiện có đã import.

Hàm sys.argv

Hàm này trả về một danh sách các đối số dòng lệnh được truyền cho tập lệnh Python. Tên của tập lệnh luôn là mục ở chỉ số 0 và phần còn lại của các đối số được lưu trữ tại các chỉ mục tiếp theo.

Hàm sys.base_exec_prefix

Hàm này cung cấp một cách hiệu quả cho cùng giá trị như exec_prefix. Nếu không chạy môi trường ảo, giá trị sẽ giữ nguyên.

Hàm sys.base_prefix

Nó được thiết lập trong quá trình khởi động Python, trước khi site.py chạy, có cùng giá trị với tiền tố.

Hàm sys.byteorder

Nó là một dấu hiệu của byteorder gốc cung cấp một cách hiệu quả để làm một cái gì đó.

Hàm sys.maxsize

Hàm này trả về số nguyên lớn nhất của một biến.

Hàm sys.path

Hàm này hiển thị bộ PYTHONPATH trong hệ thống hiện tại. Đây là một biến môi trường là một đường dẫn tìm kiếm cho tất cả các Module python.

Hàm sys.stdin

Nó là một đối tượng chứa các giá trị gốc của stdin khi bắt đầu chương trình và được sử dụng trong quá trình hoàn thiện. Nó có thể khôi phục các tập tin.

Hàm sys.getrefcount

Hàm này trả về số tham chiếu của một đối tượng.

Hàm sys.exit

Hàm này được sử dụng để thoát khỏi console trong Python hoặc dấu nhắc lệnh và cũng được sử dụng để thoát khỏi chương trình trong trường hợp ngoại lệ.

Hàm sys.executable

Giá trị của hàm này là đường dẫn tuyệt đối đến trình thông dịch Python. Nó rất hữu ích để biết nơi python được cài đặt trên máy của người khác.

Hàm sys.platform

Giá trị của hàm này được sử dụng để xác định nền tảng mà chúng ta đang làm việc.





Module sys trong Python cung cấp các hàm và các biến được sử dụng để thao tác các phần khác nhau của môi trường chạy Python. Nó cho phép chúng ta truy cập các tham số và chức năng cụ thể của hệ thống.

Nội dung chính

  • Hàm sys.modules
  • Hàm sys.argv
  • Hàm sys.base_exec_prefix
  • Hàm sys.base_prefix
  • Hàm sys.byteorder
  • Hàm sys.maxsize
  • Hàm sys.path
  • Hàm sys.stdin
  • Hàm sys.getrefcount
  • Hàm sys.exit
  • Hàm sys.executable
  • Hàm sys.platform
  • KHÁI NIỆM VÀ CÁCH SỬ DỤNG MODULE TRONG PYTHON
  • Các module chuẩn

Sau đây là các hàm phổ biến trong Module Python:

Hàm sys.modules

Hàm này cung cấp tên của các Module python hiện có đã import.

Hàm sys.argv

Hàm này trả về một danh sách các đối số dòng lệnh được truyền cho tập lệnh Python. Tên của tập lệnh luôn là mục ở chỉ số 0 và phần còn lại của các đối số được lưu trữ tại các chỉ mục tiếp theo.

Hàm sys.base_exec_prefix

Hàm này cung cấp một cách hiệu quả cho cùng giá trị như exec_prefix. Nếu không chạy môi trường ảo, giá trị sẽ giữ nguyên.

Hàm sys.base_prefix

Nó được thiết lập trong quá trình khởi động Python, trước khi site.py chạy, có cùng giá trị với tiền tố.

Hàm sys.byteorder

Nó là một dấu hiệu của byteorder gốc cung cấp một cách hiệu quả để làm một cái gì đó.

Hàm sys.maxsize

Hàm này trả về số nguyên lớn nhất của một biến.

Hàm sys.path

Hàm này hiển thị bộ PYTHONPATH trong hệ thống hiện tại. Đây là một biến môi trường là một đường dẫn tìm kiếm cho tất cả các Module python.

Hàm sys.stdin

Nó là một đối tượng chứa các giá trị gốc của stdin khi bắt đầu chương trình và được sử dụng trong quá trình hoàn thiện. Nó có thể khôi phục các tập tin.

Hàm sys.getrefcount

Hàm này trả về số tham chiếu của một đối tượng.

Hàm sys.exit

Hàm này được sử dụng để thoát khỏi console trong Python hoặc dấu nhắc lệnh và cũng được sử dụng để thoát khỏi chương trình trong trường hợp ngoại lệ.

Hàm sys.executable

Giá trị của hàm này là đường dẫn tuyệt đối đến trình thông dịch Python. Nó rất hữu ích để biết nơi python được cài đặt trên máy của người khác.

Hàm sys.platform

Giá trị của hàm này được sử dụng để xác định nền tảng mà chúng ta đang làm việc.



KHÁI NIỆM VÀ CÁCH SỬ DỤNG MODULE TRONG PYTHON

Python cho phép chia chương trình thành modules để có thể sử dụng lại trong các chương trình khác. Nó cũng có sẵn một tập hợp các modules chuẩn mà ta có thể sử dụng lại trong chương trình của ta. Các thư viện này cung cấp nhiều thứ, như file I/O, các lời gọi hệ thống, sockets,…Trong phần này chúng ta sẽ tìm hiểu các kỹ thuật, đặc điểm của các module.

Nếu thoát khỏi trình thông dịch Python và vào lại nó, những định nghĩa (các hàm và biến) đã viết sẽ bị mất. Vì thế, nếu muốn viết chương trình tồn tại được lâu, tốt nhất là sử dụng một trình soạn thảo để viết một file làm đầu vào cho trình biên dịch rồi chạy file đó. Cái này được gọi là một script (kịch bản). Hoặc khi muốn sử dụng một hàm đã xây dựng trong một vài chương trình mà không muốn copy định nghĩa của nó vào từng chương trình.

Để hỗ trợ điều này, Python có một cách đặt các định nghĩa hàm trong một file và sử dụng chúng như một kịch bản hoặc trong một instance tương tác của trình thông dịch. Một file như vậy gọi là một module. Các định nghĩa từ một module có thể được nhập vào một module khác hoặc vào module chính (tập hợp các biến mà có thể truy nhập đến một script được thi hành tại mức cao nhất và trong chế độ tính toán).

Một module là một file chứa các định nghĩa và câu lệnh Python. Tên file là tên module với phần mở rộng là .py. Trong một module, tên của module (như là một xâu) là sẵn có như giá trị của biến toàn cục name. Ví dụ, dùng trình soạn thảo, soạn file fibo.py với nội dung như sau:

. # Fibonacci numbers module

def fib(n):    # write Fibonacci series up to n
    a, b = 0, 1
    while b < n:
        print b,
        a, b = b, a+b

def fib2(n): # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result

Bây giờ mở trình thông dịch Python và nhập module này bằng lệnh dưới đây:

>>> import fibo

Thao tác này không nhập tên của các hàm đã được định nghĩa trong fibo trực tiếp vào trong bảng kí hiệu hiện thời; nó chỉ nhập tên của module fibo vào đó. Sử dụng tên module này để có thể truy nhập vào các hàm:

>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
'fibo'

Để thuận tiện, một hàm trong module định sử dụng thường được đăng kí với một tên cục bộ:

>>> fib = fibo.fib
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

Một module có thể chứa các câu lệnh thực thi cũng như các định nghĩa hàm. Các câu lệnh đó được dùng để khởi tạo module đó. Chúng được thực hiện chỉ lần đầu tiên module đó được nhập. Mỗi một module có bảng kí hiệu riêng của nó, cái mà được sử dụng như một bảng kí hiệu toàn cục cho tất cả các hàm được định nghĩa trong module đó. Vì thế, các biến toàn cục trong module có thể sử dụng mà không lo lắng về sự xung đột xảy ra với các biến toàn cục của người sử dụng module đó. Module cũng có thể được nhập vào một module khác. Nó như là một thông lệ nhưng không yêu cầu phải đặt tất cả các câu lệnh import tại vị trí bắt đầu của một module (hoặc script). Tên module được nhập vào đó được đặt trong bảng kí hiệu toàn cục của module nhập module đó. Để sử dụng modules trong Python, phải nhập nó bằng câu lệnh import. Ví dụ:

import math

Thao tác này sẽ nhập module chuẩn math. Tất cả các hàm trong module này được gọi bằng cách sử dụng qua tên module, ví dụ:

import math
print math.sqrt(10)

Có một biến thể của câu lệnh import mà nhập các tên từ một module trực tiếp vào bảng kí hiệu của module chứa module nhập đó. Ví dụ:

>>> from fibo import fib, fib2
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

Cũng có một biến thể để nhập tất cả các tên mà một module định nghĩa:

>>> from fibo import *
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

Thao tác này nhập tất cả các tên ngoại trừ những tên bắt đầu bằng dấu gạch dưới _

ĐƯỜNG DẪN TÌM KIẾM MODULE KHI MỘT MODULE TÊN LÀ SPAM ĐƯỢC NHẬP, TRÌNH THÔNG DỊCH SẼ TÌM MỘT FILE TÊN LÀ SPAM.PY TRONG THƯ MỤC HIỆN HÀNH, VÀ SAU ĐÓ TRONG DANH SÁCH CÁC THƯ MỤC XÁC ĐỊNH BỞI BIẾN MÔI TRƯỜNG PYTHONPATH. KHI BIẾN PYTHONPATH CHƯA ĐƯỢC THIẾT LẬP HOẶC KHI FILE ĐÓ KHÔNG ĐƯỢC TÌM THẤY, VIỆC TÌM KIẾM ĐƯỢC TIẾP TỤC TRONG MỘT ĐƯỜNG DẪN MẶC ĐỊNH PHỤTHUỘC KHI CÀI ĐẶT.

Thực tế, các module được tìm kiếm trong danh sách các thư mục được đưa ra bởi biến sys.path cái mà được khởi tạo từ thư mục chứa script vào ( hoặc thư mục hiện hành), PYTHONPATH và thư mục đường dẫn mặc định phụ thuộc vào cài đặt. Điều này cho phép chương trình Python biết cái mà chúng đang làm để sửa đổi hoặc thay thế đường dẫn tìm kiếm module.

Các module chuẩn

Python cung cấp một thư viện các module chuẩn. Một số module quan trọng được cài sẵn vào trình thông dịch. Có một module cụ thể đáng để chú ý là: sys, module này được cài sẵn vào mọi trình thông dịch Python. Các biến sys.ps1 và sys.ps2 định nghĩa các xâu được sử dụng như dấu nhắc sơ cấp và thứ cấp:

>>> import sys
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '
>>> sys.ps1 = 'C> '
C> print 'Yeah!'
Yeah!
C>

Hai biến trên chỉ được định nghĩa nếu trình thông dịch ở chế độ tương tác. Biến sys.path là một danh sách các xâu mà xác định đường dẫn tìm kiếm module của trình thông dịch. Nó được khởi tạo một đường dẫn mặc định từ biến môi trường PYTHONPATH, hoặc từ một giá trị mặc định được cài sẵn nếu PYTHONPATH không được thiết lập. Có thể sửa đổi nó sử dụng thao tác danh sách chuẩn:

>>> import sys
>>> sys.path.append('/ufs/guido/lib/python)