Python stdin là gì?

Mô-đun này cung cấp quyền truy cập vào một số biến được trình thông dịch sử dụng hoặc duy trì và các chức năng tương tác mạnh với trình thông dịch. Nó luôn luôn có sẵn

sys. abiflags

Trên các hệ thống POSIX nơi Python được xây dựng với tập lệnh

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
07 tiêu chuẩn, tập lệnh này chứa các cờ ABI theo quy định của PEP 3149

Đã thay đổi trong phiên bản 3. 8. Cờ mặc định trở thành chuỗi rỗng [cờ

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
08 cho pymalloc đã bị xóa].

Mới trong phiên bản 3. 2

sys. addaudithook[móc]

Nối móc có thể gọi vào danh sách móc kiểm tra đang hoạt động cho trình thông dịch [phụ] hiện tại

Khi một sự kiện kiểm tra được đưa ra thông qua hàm, mỗi hook sẽ được gọi theo thứ tự được thêm vào với tên sự kiện và bộ đối số. Các móc gốc được thêm bởi được gọi trước, tiếp theo là các móc được thêm vào trong trình thông dịch [phụ] hiện tại. Sau đó, các hook có thể ghi nhật ký sự kiện, đưa ra một ngoại lệ để hủy bỏ hoạt động hoặc chấm dứt hoàn toàn quy trình

Lưu ý rằng các móc kiểm tra chủ yếu để thu thập thông tin về các hành động nội bộ hoặc không thể quan sát được, cho dù bằng Python hay các thư viện được viết bằng Python. Chúng không phù hợp để triển khai “sandbox”. Cụ thể, mã độc có thể vô hiệu hóa hoặc bỏ qua các hook được thêm vào bằng cách sử dụng chức năng này. Ở mức tối thiểu, bất kỳ hook nhạy cảm về bảo mật nào cũng phải được thêm vào bằng cách sử dụng API C trước khi khởi tạo thời gian chạy và mọi mô-đun cho phép sửa đổi bộ nhớ tùy ý [chẳng hạn như ] phải được xóa hoàn toàn hoặc được giám sát chặt chẽ

Việc gọi sẽ tự đưa ra một sự kiện kiểm tra có tên là

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
4 mà không có đối số. Nếu bất kỳ hook hiện có nào phát sinh ngoại lệ bắt nguồn từ , hook mới sẽ không được thêm vào và ngoại lệ đó sẽ bị chặn. Do đó, người gọi không thể cho rằng hook của họ đã được thêm trừ khi họ kiểm soát tất cả các hook hiện có

Xem tất cả các sự kiện do CPython nêu ra và PEP 578 để biết phần thảo luận về thiết kế ban đầu

Mới trong phiên bản 3. 8

Đã thay đổi trong phiên bản 3. 8. 1. Các ngoại lệ bắt nguồn từ but not không còn bị chặn nữa.

Chi tiết triển khai CPython. Khi tính năng theo dõi được bật [xem ], các móc Python chỉ được theo dõi nếu có thể gọi được có thành viên

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
9 được đặt thành giá trị thực. Nếu không, các chức năng theo dõi sẽ bỏ qua hook

sys. argv

Danh sách các đối số dòng lệnh được chuyển đến tập lệnh Python.

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
0 là tên tập lệnh [nó phụ thuộc vào hệ điều hành cho dù đây có phải là tên đường dẫn đầy đủ hay không]. Nếu lệnh được thực thi bằng cách sử dụng tùy chọn dòng lệnh cho trình thông dịch, thì
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
0 được đặt thành chuỗi
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
3. Nếu không có tên tập lệnh nào được chuyển tới trình thông dịch Python, thì
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
0 là chuỗi rỗng

Để lặp qua đầu vào tiêu chuẩn hoặc danh sách các tệp được cung cấp trên dòng lệnh, hãy xem mô-đun

Xem thêm

Ghi chú

Trên Unix, các đối số dòng lệnh được truyền theo byte từ HĐH. Python giải mã chúng bằng mã hóa hệ thống tệp và trình xử lý lỗi “thay thế”. Khi bạn cần byte gốc, bạn có thể lấy nó trước ngày

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
7

sys. kiểm tra[sự kiện , *đối số]

Tăng sự kiện kiểm tra và kích hoạt mọi móc kiểm tra đang hoạt động. sự kiện là một chuỗi xác định sự kiện và các đối số có thể chứa các đối số tùy chọn với nhiều thông tin hơn về sự kiện. Số lượng và loại đối số cho một sự kiện nhất định được coi là API công khai và ổn định và không nên sửa đổi giữa các lần phát hành

Ví dụ: một sự kiện kiểm toán có tên là

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
8. Sự kiện này có một đối số được gọi là đường dẫn sẽ chứa thư mục làm việc mới được yêu cầu

sẽ gọi các móc kiểm tra hiện có, chuyển tên sự kiện và đối số, đồng thời sẽ đưa ra lại ngoại lệ đầu tiên từ bất kỳ móc nào. Nói chung, nếu một ngoại lệ được đưa ra, nó sẽ không được xử lý và quá trình này phải được kết thúc càng nhanh càng tốt. Điều này cho phép triển khai móc quyết định cách phản hồi các sự kiện cụ thể. họ chỉ có thể ghi lại sự kiện hoặc hủy bỏ hoạt động bằng cách đưa ra một ngoại lệ

Móc được thêm bằng cách sử dụng chức năng hoặc

Tương đương bản địa của chức năng này là. Sử dụng hàm riêng được ưu tiên khi có thể

Xem tất cả các sự kiện do CPython nêu ra

Mới trong phiên bản 3. 8

sys. base_exec_prefix

Đặt trong khi khởi động Python, trước khi chạy

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
3, thành cùng giá trị với. Nếu không chạy trong a , các giá trị sẽ giữ nguyên;

Mới trong phiên bản 3. 3

sys. base_prefix

Đặt trong khi khởi động Python, trước khi chạy

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
3, thành cùng giá trị với. Nếu không chạy trong a , các giá trị sẽ giữ nguyên;

Mới trong phiên bản 3. 3

sys. thứ tự phụ

Một chỉ báo về thứ tự byte gốc. Giá trị này sẽ có giá trị

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
27 trên nền tảng big-endian [byte quan trọng nhất đầu tiên] và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
28 trên nền tảng little-endian [byte ít quan trọng nhất đầu tiên]

sys. dựng sẵn_module_names

Một bộ chuỗi chứa tên của tất cả các mô-đun được biên dịch thành trình thông dịch Python này. [Thông tin này không có sẵn theo bất kỳ cách nào khác —

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
29 chỉ liệt kê các mô-đun đã nhập. ]

Xem thêm danh sách

sys. call_tracing[func , đối số]

Gọi

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
51, trong khi theo dõi được kích hoạt. Trạng thái theo dõi được lưu và khôi phục sau đó. Điều này dự định được gọi từ trình gỡ lỗi từ một điểm kiểm tra, để gỡ lỗi đệ quy một số mã khác

sys. bản quyền

Một chuỗi chứa bản quyền liên quan đến trình thông dịch Python

sys. _clear_type_cache[]

Xóa bộ đệm loại nội bộ. Bộ đệm loại được sử dụng để tăng tốc độ tra cứu thuộc tính và phương thức. Chỉ sử dụng chức năng này để loại bỏ các tham chiếu không cần thiết trong quá trình gỡ lỗi rò rỉ tham chiếu

Chức năng này chỉ nên được sử dụng cho mục đích nội bộ và chuyên biệt

sys. _current_frames[]

Trả về một từ điển ánh xạ mã định danh của từng luồng tới khung ngăn xếp trên cùng hiện đang hoạt động trong luồng đó tại thời điểm hàm được gọi. Lưu ý rằng các chức năng trong mô-đun có thể tạo ngăn xếp cuộc gọi với khung như vậy

Điều này hữu ích nhất để gỡ lỗi bế tắc. chức năng này không yêu cầu sự hợp tác của các luồng bị bế tắc và ngăn xếp cuộc gọi của các luồng đó bị đóng băng miễn là chúng vẫn còn bế tắc. Khung được trả về cho một luồng không bị bế tắc có thể không có mối quan hệ nào với hoạt động hiện tại của luồng đó vào thời điểm mã gọi kiểm tra khung

Chức năng này chỉ nên được sử dụng cho mục đích nội bộ và chuyên biệt

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
53 mà không có đối số

sys. _current_exceptions[]

Trả về một từ điển ánh xạ định danh của từng luồng tới ngoại lệ trên cùng hiện đang hoạt động trong luồng đó tại thời điểm hàm được gọi. Nếu một luồng hiện không xử lý một ngoại lệ, nó sẽ không được đưa vào từ điển kết quả

Điều này hữu ích nhất cho hồ sơ thống kê

Chức năng này chỉ nên được sử dụng cho mục đích nội bộ và chuyên biệt

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
54 mà không có đối số

sys. breakpointhook[]

Chức năng hook này được gọi bởi chức năng tích hợp. Theo mặc định, nó đưa bạn vào trình gỡ lỗi, nhưng nó có thể được đặt thành bất kỳ chức năng nào khác để bạn có thể chọn trình gỡ lỗi nào sẽ được sử dụng

Chữ ký của chức năng này phụ thuộc vào những gì nó gọi. Ví dụ: ràng buộc mặc định [e. g.

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
57] không yêu cầu đối số, nhưng bạn có thể liên kết nó với một hàm yêu cầu đối số bổ sung [vị trí và/hoặc từ khóa]. Hàm
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
55 tích hợp chuyển trực tiếp
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
59 và
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
090 của nó qua. Bất cứ điều gì
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
091 trả về đều được trả lại từ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
55

Việc triển khai mặc định trước tiên sẽ tham khảo biến môi trường. Nếu điều đó được đặt thành

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
094 thì hàm này sẽ trả về ngay lập tức; . e. nó là một no-op. Nếu biến môi trường không được đặt hoặc được đặt thành chuỗi trống, thì
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
57 được gọi. Mặt khác, biến này nên đặt tên cho một hàm để chạy, sử dụng danh pháp nhập dấu chấm của Python, e. g.
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
096. Trong trường hợp này,
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
097 sẽ được nhập và mô-đun kết quả phải có tên gọi là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
098. Điều này được chạy, chuyển vào
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
59 và
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
090, và bất kỳ giá trị nào mà
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
098 trả về, thì
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
072 sẽ trả về hàm tích hợp sẵn

Lưu ý rằng nếu có bất kỳ sự cố nào xảy ra trong khi nhập tên có thể gọi được theo , thì a sẽ được báo cáo và điểm ngắt bị bỏ qua

Cũng lưu ý rằng nếu

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
072 bị ghi đè theo chương trình, sẽ không được tư vấn

Mới trong phiên bản 3. 7

sys. _debugmallocstats[]

In thông tin cấp thấp tới thiết bị lỗi chuẩn về trạng thái cấp phát bộ nhớ của CPython

Nếu Python là [], thì nó cũng thực hiện một số kiểm tra tính nhất quán nội bộ đắt tiền

Mới trong phiên bản 3. 3

Chi tiết triển khai CPython. Hàm này dành riêng cho CPython. Định dạng đầu ra chính xác không được xác định ở đây và có thể thay đổi

sys. dllxử lý

Số nguyên chỉ định phần xử lý của Python DLL

các cửa sổ

sys. hook[giá trị]

Nếu giá trị không phải là

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079, hàm này sẽ in
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
080 thành
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
081 và lưu giá trị trong
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
082. Nếu không thể mã hóa
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
080 thành
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
084 bằng trình xử lý lỗi
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
085 [có thể là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
086], hãy mã hóa nó thành
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
084 bằng trình xử lý lỗi
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
088

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
089 được gọi dựa trên kết quả đánh giá một mục đã nhập trong phiên Python tương tác. Việc hiển thị các giá trị này có thể được tùy chỉnh bằng cách gán một hàm một đối số khác cho
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
089

mã giả

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
4

Đã thay đổi trong phiên bản 3. 2. Sử dụng trình xử lý lỗi

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
088 trên.

sys. don't_write_bytecode

Nếu điều này là đúng, Python sẽ không cố ghi các tệp

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
323 khi nhập các mô-đun nguồn. Giá trị này ban đầu được đặt thành
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
324 hoặc
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
325 tùy thuộc vào tùy chọn dòng lệnh và biến môi trường, nhưng bạn có thể tự đặt giá trị này để kiểm soát việc tạo tệp mã byte

sys. _emscripten_info

Thông tin lưu giữ về môi trường trên nền tảng wasm32-emscripten. Tuple được đặt tên là tạm thời và có thể thay đổi trong tương lai

Thuộc tính

Giải trình

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
328

Phiên bản mô tả dưới dạng bộ dữ liệu ints [chính, phụ, vi mô], e. g.

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
329

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
00

Chuỗi thời gian chạy, e. g. tác nhân người dùng trình duyệt,

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
01 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
02

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
03

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
324 nếu Python được biên dịch với sự hỗ trợ của Emscripten pthreads

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
05

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
324 nếu Python được biên dịch với hỗ trợ bộ nhớ dùng chung

Emscripten

Mới trong phiên bản 3. 11

sys. pycache_prefix

Nếu điều này được đặt [không phải

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079], Python sẽ ghi các tệp bytecode-cache
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
323 vào [và đọc chúng từ] một cây thư mục song song bắt nguồn từ thư mục này, thay vì từ các thư mục
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
09 trong cây mã nguồn. Mọi thư mục
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
09 trong cây mã nguồn sẽ bị bỏ qua và các tệp
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
323 mới được ghi trong tiền tố pycache. Vì vậy, nếu bạn sử dụng như một bước xây dựng trước, bạn phải đảm bảo rằng bạn chạy nó với cùng một tiền tố pycache [nếu có] mà bạn sẽ sử dụng trong thời gian chạy

Một đường dẫn tương đối được giải thích liên quan đến thư mục làm việc hiện tại

Giá trị này ban đầu được đặt dựa trên giá trị của tùy chọn dòng lệnh

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
14 hoặc biến môi trường [dòng lệnh được ưu tiên]. Nếu không được đặt, đó là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079

Mới trong phiên bản 3. 8

sys. ngoại trừ hook[loại , giá trị , truy ngược]

Hàm này in ra một truy nguyên đã cho và ngoại lệ đối với

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
17

Khi một ngoại lệ được đưa ra và chưa được xử lý, trình thông dịch gọi

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
18 với ba đối số, lớp ngoại lệ, thể hiện ngoại lệ và một đối tượng truy nguyên. Trong một phiên tương tác, điều này xảy ra ngay trước khi quyền điều khiển được đưa trở lại dấu nhắc; . Việc xử lý các ngoại lệ cấp cao nhất như vậy có thể được tùy chỉnh bằng cách gán một hàm ba đối số khác cho
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
18

Tăng sự kiện kiểm toán

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
18 với các đối số
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
21,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
22,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
23,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
52 khi xảy ra ngoại lệ chưa được phát hiện. Nếu chưa đặt móc,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
21 có thể là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079. Nếu bất kỳ hook nào đưa ra một ngoại lệ bắt nguồn từ lệnh gọi hook sẽ bị chặn. Nếu không, ngoại lệ móc kiểm tra sẽ được báo cáo là không thể phát hiện được và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
18 sẽ được gọi

Xem thêm

Hàm xử lý các ngoại lệ không thể kích hoạt và hàm xử lý ngoại lệ được đưa ra bởi

sys. __breakpointhook__sys. __displayhook__sys. __ngoại trừhook__sys. __unraisablehook__

Các đối tượng này chứa các giá trị ban đầu của

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
32,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
33,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
34 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
35 khi bắt đầu chương trình. Chúng được lưu để có thể khôi phục
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
32,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
33 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
34,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
35 trong trường hợp chúng vô tình được thay thế bằng các đối tượng bị hỏng hoặc thay thế

Mới trong phiên bản 3. 7. __breakpointhook__

Mới trong phiên bản 3. 8. __unraisablehook__

sys. ngoại lệ[]

Hàm này, khi được gọi trong khi trình xử lý ngoại lệ đang thực thi [chẳng hạn như mệnh đề

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
40 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
41], trả về trường hợp ngoại lệ đã bị trình xử lý này bắt. Khi các trình xử lý ngoại lệ được lồng vào nhau, chỉ có thể truy cập được ngoại lệ được xử lý bởi trình xử lý trong cùng

Nếu không có trình xử lý ngoại lệ nào đang thực thi, hàm này sẽ trả về

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079

Mới trong phiên bản 3. 11

sys. exc_info[]

Hàm này trả về biểu diễn kiểu cũ của ngoại lệ được xử lý. Nếu một ngoại lệ

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
43 hiện đang được xử lý [vì vậy sẽ trả về
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
43], trả về bộ dữ liệu
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
47. Nghĩa là, một bộ chứa loại ngoại lệ [một lớp con của ], bản thân ngoại lệ đó và một thường đóng gói ngăn xếp cuộc gọi tại điểm xảy ra ngoại lệ lần cuối

Nếu không có ngoại lệ nào được xử lý ở bất kỳ đâu trên ngăn xếp, thì hàm này trả về một bộ chứa ba giá trị

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079

Đã thay đổi trong phiên bản 3. 11. Các trường

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
22 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
52 hiện được lấy từ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
23 [trường hợp ngoại lệ], do đó, khi một ngoại lệ được sửa đổi trong khi nó đang được xử lý, những thay đổi đó sẽ được phản ánh trong kết quả của các lệnh gọi tiếp theo tới.

sys. exec_prefix

Một chuỗi cung cấp tiền tố thư mục dành riêng cho trang nơi các tệp Python phụ thuộc vào nền tảng được cài đặt; . Điều này có thể được đặt tại thời điểm xây dựng với đối số

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
55 cho tập lệnh cấu hình. Cụ thể, tất cả các tệp cấu hình [e. g. tệp tiêu đề
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
56] được cài đặt trong thư mục
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
57 và các mô-đun thư viện dùng chung được cài đặt trong
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
58, trong đó X. Y là số phiên bản của Python, ví dụ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
59

Ghi chú

Nếu a có hiệu lực, giá trị này sẽ được thay đổi trong

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
3 để trỏ đến môi trường ảo. Giá trị cho bản cài đặt Python sẽ vẫn khả dụng, thông qua

sys. thực thi được

Một chuỗi cung cấp đường dẫn tuyệt đối của tệp nhị phân thực thi cho trình thông dịch Python, trên các hệ thống mà điều này hợp lý. Nếu Python không thể truy xuất đường dẫn thực đến tệp thực thi của nó, thì sẽ là một chuỗi trống hoặc

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079

sys. thoát[[arg]]

Đưa ra một ngoại lệ, báo hiệu ý định thoát khỏi trình thông dịch

Đối số tùy chọn arg có thể là một số nguyên cho biết trạng thái thoát [mặc định là 0] hoặc một loại đối tượng khác. Nếu nó là một số nguyên, số 0 được coi là "kết thúc thành công" và bất kỳ giá trị khác 0 nào được coi là "kết thúc bất thường" bởi shell và những thứ tương tự. Hầu hết các hệ thống yêu cầu nó nằm trong phạm vi 0–127 và nếu không thì sẽ tạo ra kết quả không xác định. Một số hệ thống có quy ước gán ý nghĩa cụ thể cho các mã thoát cụ thể, nhưng chúng thường kém phát triển; . Nếu một loại đối tượng khác được truyền, thì

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 tương đương với việc truyền số 0 và bất kỳ đối tượng nào khác được in ra và dẫn đến mã thoát là 1. Đặc biệt,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
67 là cách nhanh chóng để thoát khỏi chương trình khi xảy ra lỗi

Vì cuối cùng "chỉ" đưa ra một ngoại lệ, nó sẽ chỉ thoát khỏi quy trình khi được gọi từ luồng chính và ngoại lệ không bị chặn. Các hành động dọn dẹp được chỉ định bởi các mệnh đề cuối cùng của câu lệnh được tôn trọng và có thể chặn nỗ lực thoát ở cấp độ bên ngoài

Đã thay đổi trong phiên bản 3. 6. Nếu xảy ra lỗi trong quá trình dọn dẹp sau khi trình thông dịch Python bắt lỗi [chẳng hạn như lỗi xóa dữ liệu được lưu trong bộ đệm trong luồng tiêu chuẩn], thì trạng thái thoát sẽ được thay đổi thành 120.

sys. cờ

Các cờ hiển thị trạng thái của các cờ dòng lệnh. Các thuộc tính chỉ được đọc

thuộc tính

lá cờ

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
71

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
75

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
77

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
79

hoặc

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
84

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
86

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
88

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
90

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
92

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
94

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
96

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
98

[]

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
00

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
02

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
04

[]

Đã thay đổi trong phiên bản 3. 2. Đã thêm thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
94 cho cờ mới.

Mới trong phiên bản 3. 2. 3. Thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
96.

Đã thay đổi trong phiên bản 3. 3. Đã xóa thuộc tính

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
09 lỗi thời.

Đã thay đổi trong phiên bản 3. 4. Đã thêm thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
77 cho cờ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
77.

Đã thay đổi trong phiên bản 3. 7. Đã thêm thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
98 cho cờ mới và thuộc tính
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
00 cho cờ
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
16 mới.

Đã thay đổi trong phiên bản 3. 11. Đã thêm thuộc tính

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
02 cho tùy chọn.

Đã thay đổi trong phiên bản 3. 11. Đã thêm thuộc tính

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
04.

sys. float_info

Một thông tin đang lưu giữ về kiểu float. Nó chứa thông tin cấp thấp về độ chính xác và biểu diễn bên trong. Các giá trị tương ứng với các hằng số dấu phẩy động khác nhau được xác định trong tệp tiêu đề tiêu chuẩn

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
20 cho ngôn ngữ lập trình 'C'; . 2. 4. 2. 2 của tiêu chuẩn ISO/IEC C năm 1999, 'Đặc điểm của các loại nổi', để biết chi tiết

thuộc tính

trôi nổi. h vĩ mô

giải trình

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
21

DBL_EPSILON

sự khác biệt giữa 1. 0 và giá trị nhỏ nhất lớn hơn 1. 0 có thể biểu diễn dưới dạng float

Xem thêm

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
23

DBL_DIG

số chữ số thập phân tối đa có thể được biểu diễn trung thực trong một số float;

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
24

DBL_MANT_DIG

phao chính xác. số lượng cơ sở-

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
25 chữ số trong ý nghĩa của một số float

DBL_MAX

số float hữu hạn dương có thể biểu diễn lớn nhất

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
27

DBL_MAX_EXP

số nguyên tối đa e sao cho

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
28 là số float hữu hạn có thể biểu diễn

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
29

DBL_MAX_10_EXP

số nguyên tối đa e sao cho

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
30 nằm trong phạm vi số float hữu hạn có thể biểu diễn

DBL_MIN

float chuẩn hóa dương tối thiểu có thể đại diện

Sử dụng để có được số float có thể biểu diễn không chuẩn hóa dương nhỏ nhất

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
33

DBL_MIN_EXP

số nguyên e nhỏ nhất sao cho

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
28 là số float chuẩn hóa

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
35

DBL_MIN_10_EXP

số nguyên e nhỏ nhất sao cho

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
30 là số float chuẩn hóa

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
25

FLT_RADIX

cơ số biểu diễn số mũ

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
38

FLT_ROUNDS

hằng số nguyên đại diện cho chế độ làm tròn được sử dụng cho các phép toán số học. Điều này phản ánh giá trị của macro FLT_ROUNDS hệ thống tại thời điểm khởi động trình thông dịch. Xem phần 5. 2. 4. 2. 2 của tiêu chuẩn C99 để giải thích về các giá trị có thể có và ý nghĩa của chúng

Thuộc tính

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
39 cần được giải thích thêm. Nếu
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
40 là bất kỳ chuỗi nào đại diện cho một số thập phân có nhiều nhất là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
39 chữ số có nghĩa, thì việc chuyển đổi
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
40 thành một số thực và ngược lại sẽ phục hồi một chuỗi đại diện cho cùng một giá trị thập phân

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'

Nhưng đối với các chuỗi có hơn

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
39 chữ số có nghĩa, điều này không phải lúc nào cũng đúng

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'

sys. float_repr_style

Một chuỗi cho biết cách hoạt động của hàm đối với số float. Nếu chuỗi có giá trị

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
45 thì đối với số float hữu hạn
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
46,
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
47 nhằm mục đích tạo ra một chuỗi ngắn có thuộc tính
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
48. Đây là hành vi thông thường trong Python 3. 1 trở lên. Mặt khác,
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
49 có giá trị
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
50 và
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
47 hoạt động giống như trong các phiên bản Python trước 3. 1

Mới trong phiên bản 3. 1

sys. khối được phân bổ[]

Trả về số khối bộ nhớ hiện được cấp phát bởi trình thông dịch, bất kể kích thước của chúng. Chức năng này chủ yếu hữu ích để theo dõi và gỡ lỗi rò rỉ bộ nhớ. Do bộ đệm bên trong của trình thông dịch, kết quả có thể khác nhau giữa các cuộc gọi;

Nếu bản dựng hoặc triển khai Python không thể tính toán thông tin này một cách hợp lý, thay vào đó được phép trả về 0

Mới trong phiên bản 3. 4

sys. getandroidapilevel[]

Trả lại phiên bản API thời gian xây dựng của Android dưới dạng số nguyên

Android

Mới trong phiên bản 3. 7

sys. getdefaultencoding[]

Trả về tên của mã hóa chuỗi mặc định hiện tại được triển khai Unicode sử dụng

sys. getdlopenflags[]

Trả về giá trị hiện tại của cờ được sử dụng cho cuộc gọi

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
55. Có thể tìm thấy tên tượng trưng cho các giá trị cờ trong mô-đun [
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
57 hằng số, e. g. ]

Unix

sys. getfilesystemencoding[]

Nhận được. mã hóa được sử dụng để chuyển đổi giữa tên tệp Unicode và tên tệp byte. Trình xử lý lỗi hệ thống tập tin được trả về từ

Để có khả năng tương thích tốt nhất, nên sử dụng str cho tên tệp trong mọi trường hợp, mặc dù việc biểu thị tên tệp dưới dạng byte cũng được hỗ trợ. Các chức năng chấp nhận hoặc trả về tên tệp phải hỗ trợ str hoặc byte và chuyển đổi nội bộ thành biểu diễn ưu tiên của hệ thống

và nên được sử dụng để đảm bảo rằng chế độ lỗi và mã hóa chính xác được sử dụng

Được cấu hình khi khởi động Python bằng hàm

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
62. xem và các thành viên của

Đã thay đổi trong phiên bản 3. 2. kết quả không thể là

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 nữa.

Đã thay đổi trong phiên bản 3. 6. Windows không còn được đảm bảo trả về

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
68. Xem PEP 529 và để biết thêm thông tin.

Đã thay đổi trong phiên bản 3. 7. Trả lại

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
70 nếu được bật.

sys. getfilesystemencodeerrors[]

Nhận được. trình xử lý lỗi được sử dụng để chuyển đổi giữa tên tệp Unicode và tên tệp byte. Mã hóa hệ thống tập tin được trả về từ

và nên được sử dụng để đảm bảo rằng chế độ lỗi và mã hóa chính xác được sử dụng

Được cấu hình khi khởi động Python bằng hàm

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
62. xem và các thành viên của

Mới trong phiên bản 3. 6

sys. get_int_max_str_digits[]

Trả về giá trị hiện tại cho. Xem thêm

Mới trong phiên bản 3. 11

sys. getrefcount[đối tượng]

Trả về số tham chiếu của đối tượng. Số đếm được trả về thường cao hơn một số so với bạn mong đợi, bởi vì nó bao gồm tham chiếu [tạm thời] làm đối số cho

sys. getrecursionlimit[]

Trả về giá trị hiện tại của giới hạn đệ quy, độ sâu tối đa của ngăn xếp trình thông dịch Python. Giới hạn này ngăn đệ quy vô hạn gây tràn ngăn xếp C và làm sập Python. Nó có thể được thiết lập bởi

sys. getsizeof[đối tượng[ , mặc định]]

Trả về kích thước của một đối tượng theo byte. Đối tượng có thể là bất kỳ loại đối tượng nào. Tất cả các đối tượng tích hợp sẽ trả về kết quả chính xác, nhưng điều này không nhất thiết phải đúng với các tiện ích mở rộng của bên thứ ba vì nó được triển khai cụ thể

Chỉ tính mức tiêu thụ bộ nhớ được gán trực tiếp cho đối tượng, không phải mức tiêu thụ bộ nhớ của các đối tượng mà nó đề cập đến

Nếu được cung cấp, giá trị mặc định sẽ được trả về nếu đối tượng không cung cấp phương tiện để lấy kích thước. Nếu không a sẽ được nâng lên

gọi phương thức

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
83 của đối tượng và thêm một bộ thu gom rác bổ sung nếu đối tượng được quản lý bởi bộ thu gom rác

Xem công thức sizeof đệ quy để biết ví dụ về cách sử dụng đệ quy để tìm kích thước của vùng chứa và tất cả nội dung của chúng

sys. getswitchinterval[]

Trả về "khoảng thời gian chuyển đổi chủ đề" của trình thông dịch;

Mới trong phiên bản 3. 2

sys. _getframe[[độ sâu]]

Trả về một đối tượng khung từ ngăn xếp cuộc gọi. Nếu độ sâu số nguyên tùy chọn được cung cấp, hãy trả về đối tượng khung có nhiều lệnh gọi bên dưới đỉnh ngăn xếp. Nếu đó là sâu hơn ngăn xếp cuộc gọi, được nâng lên. Độ sâu mặc định bằng 0, trả về khung ở đầu ngăn xếp cuộc gọi

Tăng một

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
87 với đối số
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
88

Chi tiết triển khai CPython. Chức năng này chỉ nên được sử dụng cho mục đích nội bộ và chuyên dụng. Nó không được đảm bảo tồn tại trong tất cả các triển khai của Python

sys. lấy hồ sơ[]

Nhận chức năng hồ sơ như được thiết lập bởi

sys. lấy[]

Nhận chức năng theo dõi như được thiết lập bởi

Chi tiết triển khai CPython. Chức năng này chỉ dành cho việc triển khai trình gỡ lỗi, trình lược tả, công cụ bảo hiểm và những thứ tương tự. Hành vi của nó là một phần của nền tảng triển khai, chứ không phải là một phần của định nghĩa ngôn ngữ và do đó có thể không có sẵn trong tất cả các triển khai Python

sys. getwindowsversion[]

Trả về một bộ có tên mô tả phiên bản Windows hiện đang chạy. Các phần tử được đặt tên là chính, phụ, xây dựng, nền tảng, service_pack, service_pack_minor, service_pack_major, suite_mask, product_type và platform_version. service_pack chứa một chuỗi, platform_version là 3-tuple và tất cả các giá trị khác là số nguyên. Các thành phần cũng có thể được truy cập theo tên, vì vậy

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
92 tương đương với
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
93. Để tương thích với các phiên bản trước, chỉ 5 phần tử đầu tiên có thể truy xuất được bằng cách lập chỉ mục

nền tảng sẽ là

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
94

product_type có thể là một trong các giá trị sau

Hằng số

Nghĩa

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
95

Hệ thống là một máy trạm

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
96

Hệ thống là một bộ điều khiển miền

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
97

Hệ thống là một máy chủ, nhưng không phải là bộ điều khiển miền

Chức năng này bao hàm chức năng Win32

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
98;

platform_version trả về phiên bản chính, phiên bản phụ và số bản dựng của hệ điều hành hiện tại, thay vì phiên bản đang được mô phỏng cho quy trình. Nó được thiết kế để sử dụng trong ghi nhật ký hơn là để phát hiện tính năng

Ghi chú

platform_version lấy phiên bản từ kernel32. dll có thể là phiên bản khác với phiên bản hệ điều hành. Vui lòng sử dụng mô-đun để đạt được phiên bản hệ điều hành chính xác

các cửa sổ

Đã thay đổi trong phiên bản 3. 2. Đã thay đổi thành một bộ được đặt tên và thêm service_pack_minor, service_pack_major, suite_mask và product_type.

Đã thay đổi trong phiên bản 3. 6. Đã thêm platform_version

sys. get_asyncgen_hooks[]

Trả về một đối tượng asyncgen_hooks, tương tự như một đối tượng có dạng

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
02, trong đó trình khởi tạo và trình hoàn thiện dự kiến ​​sẽ là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 hoặc các hàm lấy một đối số làm đối số và được sử dụng để lập lịch trình hoàn thiện trình tạo không đồng bộ bằng một vòng lặp sự kiện

Mới trong phiên bản 3. 6. Xem PEP 525 để biết thêm chi tiết.

Ghi chú

Chức năng này đã được thêm vào trên cơ sở tạm thời [xem PEP 411 để biết chi tiết. ]

sys. get_coroutine_origin_tracking_depth[]

Nhận độ sâu theo dõi nguồn gốc coroutine hiện tại, như được đặt bởi

Mới trong phiên bản 3. 7

Ghi chú

Chức năng này đã được thêm vào trên cơ sở tạm thời [xem PEP 411 để biết chi tiết. ] Chỉ sử dụng nó cho mục đích gỡ lỗi

sys. hash_info

Một tham số đưa ra của việc thực hiện hàm băm số. Để biết thêm chi tiết về băm các loại số, xem

thuộc tính

giải trình

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
05

chiều rộng tính bằng bit được sử dụng cho giá trị băm

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
06

mô đun nguyên tố P được sử dụng cho sơ đồ băm số

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
07

giá trị băm được trả về cho một vô cực dương

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
08

[thuộc tính này không còn được sử dụng]

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
09

số nhân được sử dụng cho phần ảo của một số phức

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
10

tên của thuật toán để băm str, byte và memoryview

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
11

kích thước đầu ra bên trong của thuật toán băm

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
12

kích thước của khóa hạt giống của thuật toán băm

Mới trong phiên bản 3. 2

Đã thay đổi trong phiên bản 3. 4. Đã thêm thuật toán, hash_bits và seed_bits

sys. phiên bản lục giác

Số phiên bản được mã hóa dưới dạng một số nguyên. Điều này được đảm bảo tăng theo từng phiên bản, bao gồm hỗ trợ thích hợp cho các bản phát hành phi sản xuất. Ví dụ: để kiểm tra trình thông dịch Python ít nhất là phiên bản 1. 5. 2, sử dụng

________số 8

Cái này được gọi là

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
13 vì nó chỉ thực sự có ý nghĩa khi được xem là kết quả của việc chuyển nó sang hàm tích hợp. Có thể được sử dụng để mã hóa cùng một thông tin thân thiện với con người hơn

Thông tin chi tiết về

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
13 có thể được tìm thấy tại

sys. thực hiện

Một đối tượng chứa thông tin về việc triển khai trình thông dịch Python hiện đang chạy. Các thuộc tính sau được yêu cầu tồn tại trong tất cả các triển khai Python

tên là định danh của việc triển khai, e. g.

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
17. Chuỗi thực tế được xác định bằng cách triển khai Python, nhưng nó được đảm bảo là chữ thường

phiên bản là một tuple được đặt tên, có cùng định dạng với. Nó đại diện cho phiên bản triển khai Python. Điều này có ý nghĩa khác biệt với phiên bản cụ thể của ngôn ngữ Python mà trình thông dịch hiện đang chạy phù hợp với, mà

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
15 đại diện. Ví dụ: đối với PyPy 1. 8
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
20 có thể là
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
21, trong khi
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
15 sẽ là
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
23. Đối với CPython, chúng có cùng giá trị, vì đó là triển khai tham chiếu

hexversion là phiên bản triển khai ở định dạng thập lục phân, như

cache_tag là thẻ được máy móc nhập khẩu sử dụng trong tên tệp của các mô-đun được lưu trong bộ nhớ cache. Theo quy ước, nó sẽ là sự kết hợp của tên và phiên bản triển khai, chẳng hạn như

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
25. Tuy nhiên, việc triển khai Python có thể sử dụng một số giá trị khác nếu thích hợp. Nếu
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
26 được đặt thành
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079, điều đó cho biết rằng bộ nhớ đệm mô-đun sẽ bị tắt

có thể chứa các thuộc tính bổ sung dành riêng cho việc triển khai Python. Các thuộc tính không chuẩn này phải bắt đầu bằng dấu gạch dưới và không được mô tả ở đây. Bất kể nội dung của nó là gì, sẽ không thay đổi trong quá trình chạy trình thông dịch, cũng như giữa các phiên bản triển khai. [Tuy nhiên, nó có thể thay đổi giữa các phiên bản ngôn ngữ Python. ] Xem PEP 421 để biết thêm thông tin

Mới trong phiên bản 3. 3

Ghi chú

Việc bổ sung các thuộc tính bắt buộc mới phải trải qua quy trình PEP thông thường. Xem PEP 421 để biết thêm thông tin

sys. int_info

A chứa thông tin về biểu diễn số nguyên bên trong của Python. Các thuộc tính chỉ được đọc

Thuộc tính

Giải trình

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
30

số bit được giữ trong mỗi chữ số. Số nguyên Python được lưu trữ nội bộ trong cơ sở

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
31

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
32

kích thước tính bằng byte của loại C được sử dụng để biểu thị một chữ số

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
33

giá trị mặc định khi nó không được cấu hình rõ ràng

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
35

giá trị khác không nhỏ nhất cho , , hoặc

Mới trong phiên bản 3. 1

Đã thay đổi trong phiên bản 3. 11. Đã thêm

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
33 và
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
35.

sys. __móc tương tác__

Khi thuộc tính này tồn tại, giá trị của nó sẽ tự động được gọi [không có đối số] khi trình thông dịch được khởi chạy trong. Điều này được thực hiện sau khi tệp được đọc, để bạn có thể đặt móc này ở đó. mô-đun

Tăng một

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
43 với đối tượng hook làm đối số khi hook được gọi khi khởi động

Mới trong phiên bản 3. 4

sys. thực tập sinh[chuỗi]

Nhập chuỗi vào bảng các chuỗi “đã được nhập” và trả về chuỗi đã được nhập – là chính chuỗi đó hoặc một bản sao. Việc thực tập các chuỗi rất hữu ích để đạt được một chút hiệu suất khi tra cứu từ điển - nếu các khóa trong từ điển được thực tập và khóa tra cứu được thực tập, thì việc so sánh khóa [sau khi băm] có thể được thực hiện bằng cách so sánh con trỏ thay vì so sánh chuỗi. Thông thường, các tên được sử dụng trong các chương trình Python được tự động thực hiện và các từ điển được sử dụng để giữ các thuộc tính mô-đun, lớp hoặc cá thể có các khóa được thực tập

Chuỗi liên kết không phải là bất tử;

sys. is_finalizing[]

Quay lại nếu trình thông dịch Python là , ngược lại

Mới trong phiên bản 3. 5

sys. last_typesys. last_valuesys. last_traceback

Ba biến này không phải lúc nào cũng được xác định; . Mục đích sử dụng của chúng là cho phép người dùng tương tác nhập mô-đun trình gỡ lỗi và tham gia vào quá trình gỡ lỗi sau khi kiểm tra mà không phải thực hiện lại lệnh gây ra lỗi. [Sử dụng điển hình là

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
47 để vào trình gỡ lỗi sau khi chết; xem mô-đun để biết thêm thông tin. ]

Ý nghĩa của các biến giống như ý nghĩa của các giá trị trả về ở trên

sys. kích thước tối đa

Một số nguyên cho giá trị lớn nhất mà một biến kiểu có thể lấy. Nó thường là

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
51 trên nền tảng 32-bit và
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
52 trên nền tảng 64-bit

sys. maxunicode

Một số nguyên cho giá trị của điểm mã Unicode lớn nhất, i. e.

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
53 [
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
54 ở hệ thập lục phân]

Đã thay đổi trong phiên bản 3. 3. Trước PEP 393,

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
55 từng là
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
56 hoặc
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
54, tùy thuộc vào tùy chọn cấu hình chỉ định liệu các ký tự Unicode được lưu dưới dạng UCS-2 hay UCS-4.

sys. meta_path

Một danh sách các đối tượng có các phương thức được gọi để xem liệu một trong các đối tượng có thể tìm thấy mô-đun được nhập hay không. Theo mặc định, nó chứa các mục triển khai ngữ nghĩa nhập mặc định của Python. Phương thức được gọi với ít nhất tên tuyệt đối của mô-đun được nhập. Nếu mô-đun được nhập được chứa trong một gói, thì thuộc tính của gói gốc được chuyển vào dưới dạng đối số thứ hai. Phương thức trả về a , hoặc

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 nếu không tìm thấy mô-đun

Xem thêm

Lớp cơ sở trừu tượng xác định giao diện của các đối tượng tìm kiếm trên

Lớp cụ thể sẽ trả về các phiên bản của

Đã thay đổi trong phiên bản 3. 4. đã được giới thiệu trong Python 3. 4, bởi PEP 451. Các phiên bản trước của Python đã tìm kiếm một phương thức gọi là. Điều này vẫn được gọi là dự phòng nếu một mục không có phương thức.

sys. mô-đun

Đây là từ điển ánh xạ tên mô-đun tới các mô-đun đã được tải. Điều này có thể được thao tác để buộc tải lại các mô-đun và các thủ thuật khác. Tuy nhiên, việc thay thế từ điển sẽ không nhất thiết hoạt động như mong đợi và việc xóa các mục thiết yếu khỏi từ điển có thể khiến Python bị lỗi. Nếu bạn muốn lặp lại từ điển toàn cầu này, hãy luôn sử dụng

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
69 hoặc
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
70 để tránh ngoại lệ vì kích thước của nó có thể thay đổi trong quá trình lặp do tác dụng phụ của mã hoặc hoạt động trong các luồng khác

sys. orig_argv

Danh sách các đối số dòng lệnh ban đầu được chuyển đến tệp thực thi Python

Xem thêm

Mới trong phiên bản 3. 10

sys. con đường

Danh sách các chuỗi chỉ định đường dẫn tìm kiếm cho các mô-đun. Được khởi tạo từ biến môi trường, cộng với mặc định phụ thuộc vào cài đặt

Theo mặc định, như được khởi tạo khi khởi động chương trình, một đường dẫn không an toàn tiềm tàng được thêm vào trước [trước các mục nhập do kết quả của ]

  • Dòng lệnh

    if sys.hexversion >= 0x010502F0:
        # use some advanced feature
        ...
    else:
        # use an alternative implementation or warn the user
        ...
    
    75. thêm vào thư mục làm việc hiện tại

  • Dòng lệnh

    if sys.hexversion >= 0x010502F0:
        # use some advanced feature
        ...
    else:
        # use an alternative implementation or warn the user
        ...
    
    76. thêm vào trước thư mục của tập lệnh. Nếu đó là một liên kết tượng trưng, ​​​​hãy giải quyết các liên kết tượng trưng

  • Dòng lệnh

    if sys.hexversion >= 0x010502F0:
        # use some advanced feature
        ...
    else:
        # use an alternative implementation or warn the user
        ...
    
    77 và
    if sys.hexversion >= 0x010502F0:
        # use some advanced feature
        ...
    else:
        # use an alternative implementation or warn the user
        ...
    
    78 [REPL]. thêm vào trước một chuỗi rỗng, có nghĩa là thư mục làm việc hiện tại

Để không thêm đường dẫn có thể không an toàn này vào trước, hãy sử dụng tùy chọn dòng lệnh hoặc biến môi trường

Một chương trình được tự do sửa đổi danh sách này cho các mục đích riêng của nó. Chỉ nên thêm các chuỗi vào ;

Xem thêm

  • Mô-đun Phần này mô tả cách sử dụng. tập tin pth để mở rộng

sys. đường_hook

Một danh sách các hàm có thể gọi lấy một đối số đường dẫn để cố gắng tạo một đường dẫn cho. Nếu một công cụ tìm có thể được tạo, nó sẽ được trả về bởi khả năng gọi được, nếu không thì hãy tăng

Ban đầu được chỉ định trong PEP 302

sys. path_importer_cache

Một từ điển hoạt động như một bộ đệm cho các đối tượng. Các khóa là các đường dẫn đã được chuyển đến và các giá trị là các công cụ tìm được tìm thấy. Nếu một đường dẫn là một đường dẫn hệ thống tệp hợp lệ nhưng không tìm thấy công cụ tìm nào thì

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 được lưu trữ

Ban đầu được chỉ định trong PEP 302

Đã thay đổi trong phiên bản 3. 3. ______3079 được lưu trữ thay vì khi không tìm thấy công cụ tìm.

sys. nền tảng

Ví dụ: chuỗi này chứa mã định danh nền tảng có thể được sử dụng để nối thêm các thành phần dành riêng cho nền tảng

Đối với các hệ thống Unix, ngoại trừ trên Linux và AIX, đây là tên hệ điều hành viết thường được trả về bởi

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
91 với phần đầu tiên của phiên bản được trả về bởi
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
92 được thêm vào, e. g.
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
93 hoặc
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
94, vào thời điểm Python được xây dựng. Trừ khi bạn muốn kiểm tra một phiên bản hệ thống cụ thể, do đó, nên sử dụng thành ngữ sau

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
2

Đối với các hệ thống khác, các giá trị là

Hệ thống

giá trị

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
00

AIX

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
96

Emscripten

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
97

Linux

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
98

LÀ TÔI

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
99

các cửa sổ

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
200

Windows/Cygwin

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
201

hệ điều hành Mac

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
202

Đã thay đổi trong phiên bản 3. 3. Trên Linux, không chứa phiên bản chính nữa. Nó luôn là

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
98, thay vì
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
205 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
206. Vì các phiên bản Python cũ hơn bao gồm số phiên bản, nên luôn sử dụng thành ngữ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
207 được trình bày ở trên.

Đã thay đổi trong phiên bản 3. 8. Trên AIX, không chứa phiên bản chính nữa. Nó luôn là

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
96, thay vì
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
210 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
211. Vì các phiên bản Python cũ hơn bao gồm số phiên bản, nên luôn sử dụng thành ngữ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
207 được trình bày ở trên.

Xem thêm

có độ chi tiết thô hơn. cung cấp thông tin phiên bản phụ thuộc vào hệ thống

Mô-đun cung cấp các kiểm tra chi tiết về danh tính của hệ thống

sys. platlibdir

Tên của thư mục thư viện dành riêng cho nền tảng. Nó được sử dụng để xây dựng đường dẫn của thư viện chuẩn và đường dẫn của các mô-đun mở rộng đã cài đặt

Nó bằng với

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
216 trên hầu hết các nền tảng. Trên Fedora và SuSE, nó bằng với
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
217 trên nền tảng 64-bit cung cấp các đường dẫn
if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
73 sau [trong đó
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
219 là phiên bản Python
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
220]

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    221. Thư viện tiêu chuẩn [như
    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    222 của mô-đun]

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    224. Các mô-đun mở rộng C của thư viện chuẩn [như mô-đun, tên tệp chính xác là dành riêng cho nền tảng]

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    226 [luôn sử dụng
    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    227, không phải ]. Mô-đun của bên thứ ba

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    229. Các mô-đun mở rộng C của gói bên thứ ba

Mới trong phiên bản 3. 9

sys. tiếp đầu ngữ

Một chuỗi cung cấp tiền tố thư mục dành riêng cho trang nơi các tệp Python độc lập với nền tảng được cài đặt; . Điều này có thể được đặt tại thời điểm xây dựng với đối số

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
231 cho tập lệnh cấu hình. Xem các đường dẫn xuất phát

Ghi chú

Nếu a có hiệu lực, giá trị này sẽ được thay đổi trong

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...
3 để trỏ đến môi trường ảo. Giá trị cho bản cài đặt Python sẽ vẫn khả dụng, thông qua

sys. ps1sys. ps2

Các chuỗi chỉ định dấu nhắc chính và dấu nhắc phụ của trình thông dịch. Chúng chỉ được xác định nếu trình thông dịch ở chế độ tương tác. Giá trị ban đầu của chúng trong trường hợp này là

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
234 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
235. Nếu một đối tượng không phải chuỗi được gán cho một trong hai biến, thì đối tượng đó sẽ được đánh giá lại mỗi khi trình thông dịch chuẩn bị đọc một lệnh tương tác mới;

sys. setdlopenflags[n]

Đặt các cờ được trình thông dịch sử dụng cho lệnh gọi

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
55, chẳng hạn như khi trình thông dịch tải các mô-đun mở rộng. Trong số những thứ khác, điều này sẽ cho phép giải quyết chậm các ký hiệu khi nhập mô-đun, nếu được gọi là
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
238. Để chia sẻ các biểu tượng trên các mô-đun mở rộng, hãy gọi là
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
239. Có thể tìm thấy tên tượng trưng cho các giá trị cờ trong mô-đun [
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
57 hằng số, e. g. ]

Unix

sys. set_int_max_str_digits[số chữ số tối đa]

Đặt được sử dụng bởi trình thông dịch này. Xem thêm

Mới trong phiên bản 3. 11

sys. setprofile[profilefunc]

Đặt chức năng cấu hình của hệ thống, cho phép bạn triển khai trình lược tả mã nguồn Python trong Python. Xem chương để biết thêm thông tin về Python profiler. Chức năng hồ sơ của hệ thống được gọi tương tự như chức năng theo dõi của hệ thống [xem ], nhưng nó được gọi với các sự kiện khác nhau, ví dụ: nó không được gọi cho mỗi dòng mã được thực thi [chỉ khi gọi và trả về, nhưng sự kiện trả về được báo cáo . Chức năng này dành riêng cho luồng, nhưng không có cách nào để trình lược tả biết về các chuyển đổi ngữ cảnh giữa các luồng, vì vậy sẽ không hợp lý khi sử dụng chức năng này khi có nhiều luồng. Ngoài ra, giá trị trả về của nó không được sử dụng, vì vậy nó chỉ có thể trả về

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079. Lỗi chức năng profile sẽ tự unset

Các chức năng hồ sơ nên có ba đối số. khung, sự kiện và arg. khung là khung ngăn xếp hiện tại. sự kiện là một chuỗi.

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
246,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
247,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
248,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
249 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
250. arg phụ thuộc vào loại sự kiện

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
251 mà không có đối số

Các sự kiện có ý nghĩa như sau

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
246

Một chức năng được gọi [hoặc một số khối mã khác được nhập]. Hàm hồ sơ được gọi;

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
247

Một chức năng [hoặc khối mã khác] sắp trở lại. Hàm hồ sơ được gọi;

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
248

Hàm C sắp được gọi. Đây có thể là chức năng mở rộng hoặc tích hợp sẵn. arg là đối tượng hàm C

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
249

Một chức năng C đã trở lại. arg là đối tượng hàm C

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
250

Hàm C đã đưa ra một ngoại lệ. arg là đối tượng hàm C

sys. setrecursionlimit[giới hạn]

Đặt độ sâu tối đa của ngăn xếp trình thông dịch Python thành giới hạn. Giới hạn này ngăn đệ quy vô hạn gây tràn ngăn xếp C và làm sập Python

Giới hạn cao nhất có thể phụ thuộc vào nền tảng. Người dùng có thể cần đặt giới hạn cao hơn khi họ có chương trình yêu cầu đệ quy sâu và nền tảng hỗ trợ giới hạn cao hơn. Điều này nên được thực hiện cẩn thận, vì giới hạn quá cao có thể dẫn đến sự cố

Nếu giới hạn mới quá thấp ở độ sâu đệ quy hiện tại, một ngoại lệ sẽ được đưa ra

Đã thay đổi trong phiên bản 3. 5. 1. Một ngoại lệ hiện được đưa ra nếu giới hạn mới quá thấp ở độ sâu đệ quy hiện tại.

sys. setswitchinterval[khoảng thời gian]

Đặt khoảng thời gian chuyển đổi luồng của trình thông dịch [tính bằng giây]. Giá trị dấu phẩy động này xác định khoảng thời gian lý tưởng của “lát cắt thời gian” được phân bổ cho các chuỗi Python chạy đồng thời. Xin lưu ý rằng giá trị thực tế có thể cao hơn, đặc biệt nếu sử dụng các hàm hoặc phương thức nội bộ lâu dài. Ngoài ra, luồng nào sẽ được lên lịch vào cuối khoảng thời gian là quyết định của hệ điều hành. Trình thông dịch không có lịch trình riêng

Mới trong phiên bản 3. 2

sys. settrace[tracefunc]

Đặt chức năng theo dõi của hệ thống, cho phép bạn triển khai trình gỡ lỗi mã nguồn Python trong Python. Chức năng này dành riêng cho luồng;

Các hàm theo dõi nên có ba đối số. khung, sự kiện và arg. khung là khung ngăn xếp hiện tại. sự kiện là một chuỗi.

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
246,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
264,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
247,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
266 hoặc
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
267. arg phụ thuộc vào loại sự kiện

Chức năng theo dõi được gọi [với sự kiện được đặt thành

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
246] bất cứ khi nào một phạm vi cục bộ mới được nhập vào;

Hàm theo dõi cục bộ sẽ trả về một tham chiếu cho chính nó [hoặc một hàm khác để theo dõi thêm trong phạm vi đó] hoặc

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 để tắt theo dõi trong phạm vi đó

Nếu có bất kỳ lỗi nào xảy ra trong chức năng theo dõi, nó sẽ không được đặt, giống như khi gọi _____1271

Các sự kiện có ý nghĩa như sau

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
246

Một chức năng được gọi [hoặc một số khối mã khác được nhập]. Chức năng theo dõi toàn cầu được gọi;

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
264

Trình thông dịch chuẩn bị thực thi một dòng mã mới hoặc thực hiện lại điều kiện của một vòng lặp. Chức năng theo dõi cục bộ được gọi; . Xem

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
276 để biết giải thích chi tiết về cách thức hoạt động của tính năng này. Sự kiện trên mỗi dòng có thể bị vô hiệu hóa cho một khung bằng cách đặt
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
277 thành trên khung đó

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
247

Một chức năng [hoặc khối mã khác] sắp trở lại. Chức năng theo dõi cục bộ được gọi; . Giá trị trả về của hàm theo dõi bị bỏ qua

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
266

Một ngoại lệ đã xảy ra. Chức năng theo dõi cục bộ được gọi;

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
267

Trình thông dịch chuẩn bị thực thi một opcode mới [xem chi tiết về opcode]. Chức năng theo dõi cục bộ được gọi; . Sự kiện per-opcode không được phát ra theo mặc định. chúng phải được yêu cầu rõ ràng bằng cách đặt

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
286 thành trên khung

Lưu ý rằng khi một ngoại lệ được lan truyền xuống chuỗi người gọi, một sự kiện

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
266 được tạo ở mỗi cấp độ

Để sử dụng chi tiết hơn, có thể đặt hàm theo dõi bằng cách chỉ định rõ ràng

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
289, thay vì dựa vào việc nó được đặt gián tiếp thông qua giá trị trả về từ hàm theo dõi đã được cài đặt. Điều này cũng cần thiết để kích hoạt chức năng theo dõi trên khung hình hiện tại, điều này không thực hiện được. Lưu ý rằng để tính năng này hoạt động, chức năng theo dõi toàn cầu phải được cài đặt để kích hoạt bộ máy theo dõi thời gian chạy, nhưng nó không cần phải là chức năng theo dõi tương tự [e. g. nó có thể là một chức năng theo dõi chi phí thấp, chỉ cần trả về
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 để tự vô hiệu hóa ngay lập tức trên mỗi khung hình]

Để biết thêm thông tin về các đối tượng mã và khung, hãy tham khảo

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
293 mà không có đối số

Chi tiết triển khai CPython. Chức năng này chỉ dành cho việc triển khai trình gỡ lỗi, trình lược tả, công cụ bảo hiểm và những thứ tương tự. Hành vi của nó là một phần của nền tảng triển khai, chứ không phải là một phần của định nghĩa ngôn ngữ và do đó có thể không có sẵn trong tất cả các triển khai Python

Đã thay đổi trong phiên bản 3. 7. ______1267 đã thêm loại sự kiện;

sys. set_asyncgen_hooks[firstiter , trình hoàn thiện]

Chấp nhận hai đối số từ khóa tùy chọn có thể gọi được chấp nhận làm đối số. Firstiter có thể gọi được sẽ được gọi khi trình tạo không đồng bộ được lặp lại lần đầu tiên. Trình hoàn thiện sẽ được gọi khi trình tạo không đồng bộ sắp được thu gom rác

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
298 mà không có đối số

Tăng một

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
299 mà không có đối số

Hai sự kiện kiểm tra được đưa ra vì API cơ bản bao gồm hai lệnh gọi, mỗi lệnh gọi phải đưa ra sự kiện riêng

Mới trong phiên bản 3. 6. Xem PEP 525 để biết thêm chi tiết và để biết ví dụ tham khảo về phương pháp hoàn thiện, hãy xem triển khai của

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
500 trong Lib/asyncio/base_events. p

Ghi chú

Chức năng này đã được thêm vào trên cơ sở tạm thời [xem PEP 411 để biết chi tiết. ]

sys. set_coroutine_origin_tracking_depth[độ sâu]

Cho phép bật hoặc tắt theo dõi nguồn gốc coroutine. Khi được bật, thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
501 trên các đối tượng coroutine sẽ chứa một bộ [tên tệp, số dòng, tên hàm] mô tả truy nguyên nơi đối tượng coroutine được tạo, với lệnh gọi gần đây nhất trước. Khi bị tắt,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
501 sẽ là Không có

Để bật, hãy chuyển một giá trị độ sâu lớn hơn 0; . Để tắt, chuyển độ sâu đã đặt thành 0

Cài đặt này dành riêng cho chủ đề

Mới trong phiên bản 3. 7

Ghi chú

Chức năng này đã được thêm vào trên cơ sở tạm thời [xem PEP 411 để biết chi tiết. ] Chỉ sử dụng nó cho mục đích gỡ lỗi

sys. _enablelegacywindowsfsencoding[]

Thay đổi tương ứng thành 'mbcs' và 'replace' để thống nhất với các phiên bản Python trước 3. 6

Điều này tương đương với việc xác định biến môi trường trước khi khởi chạy Python

Xem thêm và

các cửa sổ

Mới trong phiên bản 3. 6. Xem PEP 529 để biết thêm chi tiết.

sys. stdinsys. thiết bị xuất chuẩnsys. tiêu chuẩn

được trình thông dịch sử dụng cho đầu vào, đầu ra và lỗi tiêu chuẩn

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    506 được sử dụng cho tất cả đầu vào tương tác [bao gồm cả lệnh gọi đến ];

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    508 được sử dụng cho đầu ra của và câu lệnh và cho lời nhắc của ;

  • Lời nhắc riêng của trình thông dịch và thông báo lỗi của nó đi tới

    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    66

Các luồng này đều đặn giống như các luồng được trả về bởi hàm. Các thông số của chúng được chọn như sau

  • Mã hóa và xử lý lỗi được khởi tạo từ và

    Trên Windows, UTF-8 được sử dụng cho thiết bị bảng điều khiển. Các thiết bị không phải ký tự như tệp đĩa và đường ống sử dụng mã hóa ngôn ngữ hệ thống [i. e. trang mã ANSI]. Các thiết bị ký tự không phải bảng điều khiển như NUL [i. e. trong đó

    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    515 trả về
    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    324] sử dụng giá trị của bảng mã đầu vào và đầu ra của bảng điều khiển khi khởi động, tương ứng cho stdin và stdout/stderr. Điều này mặc định cho hệ thống nếu quy trình ban đầu không được gắn vào bảng điều khiển

    Hành vi đặc biệt của bảng điều khiển có thể được ghi đè bằng cách đặt biến môi trường PYTHONLEGACYWINDOWSSTIO trước khi khởi động Python. Trong trường hợp đó, bảng mã bảng điều khiển được sử dụng như đối với bất kỳ thiết bị ký tự nào khác

    Trong tất cả các nền tảng, bạn có thể ghi đè mã hóa ký tự bằng cách đặt biến môi trường trước khi khởi động Python hoặc bằng cách sử dụng tùy chọn dòng lệnh

    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    16 mới và biến môi trường. Tuy nhiên, đối với bảng điều khiển Windows, điều này chỉ áp dụng khi cũng được đặt

  • Khi tương tác, luồng

    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    508 được đệm theo dòng. Mặt khác, nó được chặn vào bộ đệm giống như các tệp văn bản thông thường. Luồng
    >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    66 được đệm dòng trong cả hai trường hợp. Bạn có thể làm cho cả hai luồng không có bộ đệm bằng cách chuyển tùy chọn dòng lệnh hoặc đặt biến môi trường

Đã thay đổi trong phiên bản 3. 9. Không tương tác

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
66 hiện được đệm theo dòng thay vì được đệm đầy đủ.

Ghi chú

Để ghi hoặc đọc dữ liệu nhị phân từ/đến các luồng tiêu chuẩn, hãy sử dụng đối tượng nhị phân bên dưới. Ví dụ: để ghi byte vào , hãy sử dụng

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
529

Tuy nhiên, nếu bạn đang viết một thư viện [và không kiểm soát mã của nó sẽ được thực thi trong bối cảnh nào], hãy lưu ý rằng các luồng tiêu chuẩn có thể được thay thế bằng các đối tượng giống như tệp không hỗ trợ thuộc tính

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
527

sys. __stdin__sys. __stdout__sys. __stderr__

Các đối tượng này chứa các giá trị ban đầu của

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
506,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
66 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
508 khi bắt đầu chương trình. Chúng được sử dụng trong quá trình hoàn thiện và có thể hữu ích để in ra luồng tiêu chuẩn thực tế bất kể đối tượng
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
535 đã được chuyển hướng hay chưa

Nó cũng có thể được sử dụng để khôi phục các tệp thực tế thành các đối tượng tệp đang hoạt động đã biết trong trường hợp chúng bị ghi đè bằng một đối tượng bị hỏng. Tuy nhiên, cách ưu tiên để thực hiện việc này là lưu rõ ràng luồng trước đó trước khi thay thế luồng đó và khôi phục đối tượng đã lưu

Ghi chú

Trong một số điều kiện

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
506,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
508 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
66 cũng như các giá trị ban đầu
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
539,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
540 và
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
541 có thể là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079. Trường hợp này thường xảy ra đối với các ứng dụng Windows GUI không được kết nối với bảng điều khiển và các ứng dụng Python bắt đầu bằng pythonw

sys. stdlib_module_names

Một tập hợp các chuỗi cố định chứa tên của các mô-đun thư viện tiêu chuẩn

Nó giống nhau trên tất cả các nền tảng. Các mô-đun không khả dụng trên một số nền tảng và các mô-đun bị tắt khi xây dựng Python cũng được liệt kê. Tất cả các loại mô-đun được liệt kê. Python thuần túy, các mô-đun tích hợp, đóng băng và mở rộng. Các mô-đun thử nghiệm bị loại trừ

Đối với các gói, chỉ có gói chính được liệt kê. gói phụ và mô-đun phụ không được liệt kê. Ví dụ: gói

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
543 được liệt kê, nhưng gói phụ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
544 và mô-đun phụ
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
545 không được liệt kê

Xem thêm danh sách

Mới trong phiên bản 3. 10

sys. thread_info

Một thông tin đang lưu giữ về việc triển khai luồng

Thuộc tính

Giải trình

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
547

Tên của chủ đề thực hiện

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    548. Chủ đề Windows

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    549. chủ đề POSIX

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    550. sơ khai chủ đề POSIX [trên nền tảng WebAssugging không hỗ trợ luồng]

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    551. chủ đề năng lượng mặt trời

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
552

Tên thực hiện khóa

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    553. một khóa sử dụng một semaphore

  • >>> import sys
    >>> sys.float_info.dig
    15
    >>> s = '3.14159265358979'    # decimal string with 15 significant digits
    >>> format[float[s], '.15g']  # convert to float and back -> same value
    '3.14159265358979'
    
    554. một khóa sử dụng một mutex và một biến điều kiện

  • >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    079 nếu thông tin này không rõ

Tên và phiên bản của thư viện chủ đề. Đó là một chuỗi hoặc

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079 nếu thông tin này không xác định

Mới trong phiên bản 3. 3

sys. truy ngược giới hạn

Khi biến này được đặt thành một giá trị số nguyên, nó sẽ xác định số mức thông tin truy nguyên tối đa được in khi xảy ra ngoại lệ chưa được xử lý. Mặc định là

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
558. Khi được đặt thành
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
559 trở xuống, tất cả thông tin truy ngược sẽ bị chặn và chỉ có loại và giá trị ngoại lệ được in

sys. unraisablehook[không thể thu được , /]

Xử lý một ngoại lệ không thể đưa ra

Được gọi khi có ngoại lệ xảy ra nhưng không có cách nào để Python xử lý nó. Ví dụ: khi hàm hủy phát sinh ngoại lệ hoặc trong quá trình thu gom rác []

Đối số unraisable có các thuộc tính sau

  • exc_type. loại ngoại lệ

  • ex_value. Giá trị ngoại lệ, có thể là

    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    079

  • exc_traceback. Truy nguyên ngoại lệ, có thể là

    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    079

  • err_msg. Thông báo lỗi, có thể là

    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    079

  • vật. Đối tượng gây ra ngoại lệ, có thể là

    >>> s = '9876543211234567'    # 16 significant digits is too many!
    >>> format[float[s], '.16g']  # conversion changes value
    '9876543211234568'
    
    079

Các định dạng hook mặc định err_msg và đối tượng là.

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
565;

có thể được ghi đè để kiểm soát cách xử lý các ngoại lệ không thể xử lý

Lưu trữ exc_value bằng móc tùy chỉnh có thể tạo chu kỳ tham chiếu. Nó phải được xóa một cách rõ ràng để phá vỡ chu trình tham chiếu khi không còn cần thiết ngoại lệ

Lưu trữ đối tượng bằng hook tùy chỉnh có thể phục hồi đối tượng nếu nó được đặt thành đối tượng đang được hoàn thiện. Tránh lưu trữ đối tượng sau khi móc tùy chỉnh hoàn thành để tránh phục hồi đối tượng

Xem thêm cái nào xử lý các trường hợp ngoại lệ chưa được phát hiện

Tăng sự kiện kiểm toán

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
569 với các đối số
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
21,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
571 khi xảy ra ngoại lệ không thể xử lý. Đối tượng
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
571 giống như những gì sẽ được truyền vào hook. Nếu chưa đặt móc,
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
21 có thể là
>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format[float[s], '.16g']  # conversion changes value
'9876543211234568'
079

Mới trong phiên bản 3. 8

sys. phiên bản

Một chuỗi chứa số phiên bản của trình thông dịch Python cùng với thông tin bổ sung về số bản dựng và trình biên dịch được sử dụng. Chuỗi này được hiển thị khi trình thông dịch tương tác được bắt đầu. Không trích xuất thông tin phiên bản ra khỏi nó, thay vào đó, hãy sử dụng và các chức năng do mô-đun cung cấp

sys. api_version

Phiên bản API C cho trình thông dịch này. Các lập trình viên có thể thấy điều này hữu ích khi phiên bản gỡ lỗi xung đột giữa Python và các mô-đun mở rộng

sys. thông tin phiên bản

Một bộ chứa năm thành phần của số phiên bản. chính, phụ, vi mô, cấp độ phát hành và nối tiếp. Tất cả các giá trị ngoại trừ mức phát hành là số nguyên; . Giá trị

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
575 tương ứng với phiên bản Python 2. 0 là
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
582. Các thành phần cũng có thể được truy cập theo tên, vì vậy
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
583 tương đương với
>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
584, v.v.

Đã thay đổi trong phiên bản 3. 1. Đã thêm thuộc tính thành phần được đặt tên.

sys. tùy chọn cảnh báo

Đây là chi tiết triển khai của khung cảnh báo; . Tham khảo mô-đun để biết thêm thông tin về khung cảnh báo

sys. người chiến thắng

Số phiên bản được sử dụng để tạo khóa đăng ký trên nền tảng Windows. Điều này được lưu trữ dưới dạng tài nguyên chuỗi 1000 trong Python DLL. Giá trị thường là ba ký tự đầu tiên của. Nó được cung cấp trong mô-đun cho mục đích thông tin;

các cửa sổ

sys. _xoptions

Một từ điển gồm các cờ dành riêng cho việc triển khai khác nhau được chuyển qua tùy chọn dòng lệnh. Tên tùy chọn được ánh xạ tới các giá trị của chúng, nếu được cung cấp rõ ràng hoặc tới. Ví dụ

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format[float[s], '.15g']  # convert to float and back -> same value
'3.14159265358979'
5

Chi tiết triển khai CPython. Đây là cách truy cập các tùy chọn dành riêng cho CPython được truyền qua. Các triển khai khác có thể xuất chúng thông qua các phương tiện khác hoặc hoàn toàn không

Mới trong phiên bản 3. 2

trích dẫn

ISO/IEC 9899. 1999. “Ngôn ngữ lập trình – C. ” Bản thảo công khai của tiêu chuẩn này có tại https. //www. mở tiêu chuẩn. org/jtc1/sc22/wg14/www/docs/n1256. pdf

Làm cách nào để sử dụng stdin trong Python?

Đây là từ Học Python. nhập dữ liệu sys = sys. tiêu chuẩn. readlines[] in "Đã đếm", len[dữ liệu], "dòng. " .
hệ thống. .
Nếu bạn muốn nhắc người dùng nhập liệu, bạn có thể sử dụng raw_input trong Python 2. .
Nếu bạn thực sự chỉ muốn đọc các tùy chọn dòng lệnh, bạn có thể truy cập chúng qua sys

stdin dùng để làm gì?

Thiết bị đầu vào tiêu chuẩn, còn được gọi là stdin , là thiết bị lấy đầu vào của hệ thống . Thông thường, đây là bàn phím, nhưng bạn có thể chỉ định đầu vào đó đến từ cổng nối tiếp hoặc tệp đĩa chẳng hạn.

Sự khác biệt giữa đầu vào và stdin trong Python là gì?

Stdin là viết tắt của đầu vào tiêu chuẩn, là luồng mà từ đó chương trình đọc dữ liệu đầu vào của nó . Phương thức này hơi khác so với phương thức input[] vì nó cũng đọc ký tự thoát do người dùng nhập vào. Hơn nữa, phương pháp này cũng cung cấp tham số cho kích thước tôi. e. nó có thể đọc bao nhiêu ký tự cùng một lúc.

SYS stdin read[] trong Python là gì?

Nó sẽ đọc từng dòng của tệp nguồn . Nó được sử dụng rộng rãi trong Hệ thống thẩm phán trực tuyến. Ví dụ. giả sử chúng ta chỉ có một số 2 sẽ được sử dụng trong tệp. nhập sys nếu __name__ == "__main__". n = int[sys. tiêu chuẩn. dòng đọc []. strip[]] Đọc file từng dòng tức là đọc số 2 [trường hợp này chỉ đọc 1 dòng].

Chủ Đề