Tập lệnh python trả chuỗi về shell

Tôi muốn thực thi tập lệnh python từ tập lệnh bash và tôi muốn lưu trữ đầu ra của tập lệnh python trong một biến

Trong tập lệnh python của tôi, tôi in một số nội dung ra màn hình và cuối cùng tôi trả về một chuỗi có

sys.exit[myString] 

Trong tập lệnh bash của tôi, tôi đã làm như sau

outputString=`python myPythonScript arg1 arg2 arg3 `

Nhưng sau đó, khi tôi kiểm tra giá trị của

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
21 với
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
22, tôi nhận được mọi thứ mà tập lệnh Python đã in ra màn hình, nhưng không phải giá trị trả về
outputString=`python myPythonScript arg1 arg2 arg3 `
0

Làm thế nào tôi nên làm điều này?

CHỈNH SỬA. Tôi cần chuỗi vì nó cho tôi biết vị trí của tệp được tạo bởi tập lệnh Python. tôi muốn làm một cái gì đó như

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation

outputString=`python myPythonScript arg1 arg2 arg3 `
1 không có nghĩa là "trả lại chuỗi này". Nếu bạn chuyển một chuỗi tới
outputString=`python myPythonScript arg1 arg2 arg3 `
2, thì
outputString=`python myPythonScript arg1 arg2 arg3 `
2 sẽ coi chuỗi đó là một thông báo lỗi và nó sẽ ghi chuỗi đó vào
outputString=`python myPythonScript arg1 arg2 arg3 `
4. Khái niệm gần nhất với giá trị trả về cho toàn bộ chương trình là trạng thái thoát của nó, phải là số nguyên

Nếu bạn muốn chụp đầu ra được ghi vào thiết bị lỗi chuẩn, bạn có thể làm điều gì đó như

________số 8

Bạn có thể làm điều gì đó tương tự trong tập lệnh bash của mình

output=$[[your command here] 2> &1]

Tuy nhiên, điều này không đảm bảo chỉ thu được giá trị được chuyển đến

outputString=`python myPythonScript arg1 arg2 arg3 `
2. Mọi thứ khác được ghi vào thiết bị lỗi chuẩn cũng sẽ được ghi lại, có thể bao gồm đầu ra ghi nhật ký hoặc dấu vết ngăn xếp

thí dụ

kiểm tra. py

outputString=`python myPythonScript arg1 arg2 arg3 `
1

t. sh

outputString=`python myPythonScript arg1 arg2 arg3 `
2

outputString=`python myPythonScript arg1 arg2 arg3 `
6

chỉnh sửa

Không chắc tại sao nhưng trong trường hợp đó, tôi sẽ viết một kịch bản chính và hai kịch bản khác. Trộn python và bash là vô nghĩa trừ khi bạn thực sự cần

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
23 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ờ

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
24 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à

outputString=`python myPythonScript arg1 arg2 arg3 `
44 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 hook Python chỉ được theo dõi nếu có thể gọi được có thành viên

outputString=`python myPythonScript arg1 arg2 arg3 `
49 đượ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.

outputString=`python myPythonScript arg1 arg2 arg3 `
60 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ì
outputString=`python myPythonScript arg1 arg2 arg3 `
60 được đặt thành chuỗi
outputString=`python myPythonScript arg1 arg2 arg3 `
63. 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ì
outputString=`python myPythonScript arg1 arg2 arg3 `
60 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 các byte gốc, bạn có thể lấy nó trước

outputString=`python myPythonScript arg1 arg2 arg3 `
67

sys. kiểm toán[sự kiện , *args]

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à

outputString=`python myPythonScript arg1 arg2 arg3 `
68. 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 các 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

outputString=`python myPythonScript arg1 arg2 arg3 `
23, 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

outputString=`python myPythonScript arg1 arg2 arg3 `
23, 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ự byte

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

outputString=`python myPythonScript arg1 arg2 arg3 `
67 trên nền tảng big-endian [byte quan trọng nhất đầu tiên] và
outputString=`python myPythonScript arg1 arg2 arg3 `
68 trên nền tảng little-endian [byte ít quan trọng nhất đầu tiên]

sys. buildin_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 -

outputString=`python myPythonScript arg1 arg2 arg3 `
69 chỉ liệt kê các mô-đun đã nhập. ]

Xem thêm danh sách

sys. call_tracing[func , args]

Gọi

outputString=`python myPythonScript arg1 arg2 arg3 `
91, 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 dụng

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 dụng

Tăng một

outputString=`python myPythonScript arg1 arg2 arg3 `
93 mà không có đối số

sys. _current_exceptions[]

Trả về một từ điển ánh xạ mã đị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 dụng

Tăng một

outputString=`python myPythonScript arg1 arg2 arg3 `
94 mà không có đối số

sys. điểm ngắt[]

Chức năng hook này được gọi bằng 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.

outputString=`python myPythonScript arg1 arg2 arg3 `
97] 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
outputString=`python myPythonScript arg1 arg2 arg3 `
95 tích hợp chuyển trực tiếp
outputString=`python myPythonScript arg1 arg2 arg3 `
99 và
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
250 của nó qua. Bất cứ điều gì
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
251 trả về đều được trả lại từ
outputString=`python myPythonScript arg1 arg2 arg3 `
95

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
254 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ì
outputString=`python myPythonScript arg1 arg2 arg3 `
97 đượ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.
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
256. Trong trường hợp này,
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
257 sẽ được nhập và mô-đun kết quả phải có tên gọi là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
258. Điều này được chạy, chuyển vào
outputString=`python myPythonScript arg1 arg2 arg3 `
99 và
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
250, và bất kỳ giá trị nào mà
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
258 trả về, thì
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
232 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
232 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. dllhandle

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

các cửa sổ

sys. móc hiển thị[giá trị]

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239, hàm này sẽ in
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
240 thành
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
241 và lưu giá trị trong
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
242. Nếu không thể mã hóa
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
240 thành
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
244 bằng trình xử lý lỗi
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
245 [có thể là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
246], hãy mã hóa nó thành
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
244 bằng trình xử lý lỗi
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
248

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
249 đượ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
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
249

mã giả

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
8

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
248 trên.

sys. dont_write_bytecode

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
483 khi nhập các mô-đun nguồn. Giá trị này ban đầu được đặt thành
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
484 hoặc
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
485 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
488

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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
489

outputString=`python myPythonScript arg1 arg2 arg3 `
400

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

outputString=`python myPythonScript arg1 arg2 arg3 `
401 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
402

outputString=`python myPythonScript arg1 arg2 arg3 `
403

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
484 nếu Python được biên dịch với sự hỗ trợ của Emscripten pthreads

outputString=`python myPythonScript arg1 arg2 arg3 `
405

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
484 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239], Python sẽ ghi các tệp bytecode-cache
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
483 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
outputString=`python myPythonScript arg1 arg2 arg3 `
409 trong cây mã nguồn. Mọi thư mục
outputString=`python myPythonScript arg1 arg2 arg3 `
409 trong cây mã nguồn sẽ bị bỏ qua và các tệp
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
483 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

outputString=`python myPythonScript arg1 arg2 arg3 `
414 hoặc biến môi trường [dòng lệnh được ưu tiên]. Nếu không được đặt, nó là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239

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

sys. ngoại trừ hook[loại , giá trị, traceback]

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

outputString=`python myPythonScript arg1 arg2 arg3 `
417

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

outputString=`python myPythonScript arg1 arg2 arg3 `
418 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
outputString=`python myPythonScript arg1 arg2 arg3 `
418

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

outputString=`python myPythonScript arg1 arg2 arg3 `
418 với các đối số
outputString=`python myPythonScript arg1 arg2 arg3 `
421,
outputString=`python myPythonScript arg1 arg2 arg3 `
422,
outputString=`python myPythonScript arg1 arg2 arg3 `
423,
outputString=`python myPythonScript arg1 arg2 arg3 `
92 khi xảy ra ngoại lệ chưa được phát hiện. Nếu chưa đặt hook,
outputString=`python myPythonScript arg1 arg2 arg3 `
421 có thể là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239. 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à
outputString=`python myPythonScript arg1 arg2 arg3 `
418 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

outputString=`python myPythonScript arg1 arg2 arg3 `
432,
outputString=`python myPythonScript arg1 arg2 arg3 `
433,
outputString=`python myPythonScript arg1 arg2 arg3 `
434 và
outputString=`python myPythonScript arg1 arg2 arg3 `
435 khi bắt đầu chương trình. Chúng được lưu để ________ 1432, ________ 1433 và ________ 1434, ________ 1435 có thể được khôi phục trong trường hợp chúng tình cờ đượ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 đề

outputString=`python myPythonScript arg1 arg2 arg3 `
440 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
441], 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 trả về

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239

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ệ

outputString=`python myPythonScript arg1 arg2 arg3 `
443 hiện đang được xử lý [vì vậy sẽ trả về
outputString=`python myPythonScript arg1 arg2 arg3 `
443], trả về bộ dữ liệu
outputString=`python myPythonScript arg1 arg2 arg3 `
447. 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ị

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239

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

outputString=`python myPythonScript arg1 arg2 arg3 `
422 và
outputString=`python myPythonScript arg1 arg2 arg3 `
92 hiện được lấy từ
outputString=`python myPythonScript arg1 arg2 arg3 `
423 [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ố

outputString=`python myPythonScript arg1 arg2 arg3 `
455 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 đề
outputString=`python myPythonScript arg1 arg2 arg3 `
456] được cài đặt trong thư mục
outputString=`python myPythonScript arg1 arg2 arg3 `
457 và các mô-đun thư viện dùng chung được cài đặt trong
outputString=`python myPythonScript arg1 arg2 arg3 `
458, trong đó X. Y là số phiên bản của Python, ví dụ
outputString=`python myPythonScript arg1 arg2 arg3 `
459

Ghi chú

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

outputString=`python myPythonScript arg1 arg2 arg3 `
23 để 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. có thể 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239

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 vào, thì

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 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,
outputString=`python myPythonScript arg1 arg2 arg3 `
467 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ờ

outputString=`python myPythonScript arg1 arg2 arg3 `
471

outputString=`python myPythonScript arg1 arg2 arg3 `
475

outputString=`python myPythonScript arg1 arg2 arg3 `
477

outputString=`python myPythonScript arg1 arg2 arg3 `
479

hoặc

outputString=`python myPythonScript arg1 arg2 arg3 `
484

outputString=`python myPythonScript arg1 arg2 arg3 `
486

outputString=`python myPythonScript arg1 arg2 arg3 `
488

outputString=`python myPythonScript arg1 arg2 arg3 `
490

outputString=`python myPythonScript arg1 arg2 arg3 `
492

outputString=`python myPythonScript arg1 arg2 arg3 `
494

outputString=`python myPythonScript arg1 arg2 arg3 `
496

outputString=`python myPythonScript arg1 arg2 arg3 `
498

[]

outputString=`python myPythonScript arg1 arg2 arg3 `
600

outputString=`python myPythonScript arg1 arg2 arg3 `
602

outputString=`python myPythonScript arg1 arg2 arg3 `
604

[]

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

outputString=`python myPythonScript arg1 arg2 arg3 `
494 cho cờ mới.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
496.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
609 lỗi thời.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
477 cho cờ
outputString=`python myPythonScript arg1 arg2 arg3 `
477.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
498 cho cờ mới và thuộc tính
outputString=`python myPythonScript arg1 arg2 arg3 `
600 cho cờ
outputString=`python myPythonScript arg1 arg2 arg3 `
616 mới.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
602 cho tùy chọn.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
604.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
620 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

outputString=`python myPythonScript arg1 arg2 arg3 `
621

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

outputString=`python myPythonScript arg1 arg2 arg3 `
623

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;

outputString=`python myPythonScript arg1 arg2 arg3 `
624

DBL_MANT_DIG

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

outputString=`python myPythonScript arg1 arg2 arg3 `
625 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

outputString=`python myPythonScript arg1 arg2 arg3 `
627

DBL_MAX_EXP

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

outputString=`python myPythonScript arg1 arg2 arg3 `
628 là số float hữu hạn có thể biểu diễn

outputString=`python myPythonScript arg1 arg2 arg3 `
629

DBL_MAX_10_EXP

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

outputString=`python myPythonScript arg1 arg2 arg3 `
630 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

outputString=`python myPythonScript arg1 arg2 arg3 `
633

DBL_MIN_EXP

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

outputString=`python myPythonScript arg1 arg2 arg3 `
628 là số float chuẩn hóa

outputString=`python myPythonScript arg1 arg2 arg3 `
635

DBL_MIN_10_EXP

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

outputString=`python myPythonScript arg1 arg2 arg3 `
630 là số float chuẩn hóa

outputString=`python myPythonScript arg1 arg2 arg3 `
625

FLT_RADIX

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

outputString=`python myPythonScript arg1 arg2 arg3 `
638

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

outputString=`python myPythonScript arg1 arg2 arg3 `
639 cần được giải thích thêm. Nếu
outputString=`python myPythonScript arg1 arg2 arg3 `
640 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à
outputString=`python myPythonScript arg1 arg2 arg3 `
639 chữ số có nghĩa, thì việc chuyển đổi
outputString=`python myPythonScript arg1 arg2 arg3 `
640 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

outputString=`python myPythonScript arg1 arg2 arg3 `
4

Nhưng đối với các chuỗi có hơn 1639 chữ số có nghĩa, điều này không phải lúc nào cũng đúng

outputString=`python myPythonScript arg1 arg2 arg3 `
6

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ị

outputString=`python myPythonScript arg1 arg2 arg3 `
645 thì đối với số float hữu hạn
outputString=`python myPythonScript arg1 arg2 arg3 `
646,
outputString=`python myPythonScript arg1 arg2 arg3 `
647 nhằm mục đích tạo ra một chuỗi ngắn có thuộc tính
outputString=`python myPythonScript arg1 arg2 arg3 `
648. Đây là hành vi thông thường trong Python 3. 1 trở lên. Mặt khác,
outputString=`python myPythonScript arg1 arg2 arg3 `
649 có giá trị
outputString=`python myPythonScript arg1 arg2 arg3 `
650 và
outputString=`python myPythonScript arg1 arg2 arg3 `
647 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

outputString=`python myPythonScript arg1 arg2 arg3 `
655. Có thể tìm thấy tên tượng trưng cho các giá trị cờ trong mô-đun [
outputString=`python myPythonScript arg1 arg2 arg3 `
657 hằng số, e. g. ]

Unix

sys. lấy mã hệ thống tệp[]

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 định cấu hình khi khởi động Python bằng hàm

outputString=`python myPythonScript arg1 arg2 arg3 `
662. 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à

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 nữa.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
668. Xem PEP 529 và để biết thêm thông tin.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
670 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 định cấu hình khi khởi động Python bằng hàm

outputString=`python myPythonScript arg1 arg2 arg3 `
662. 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[ , default]]

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

outputString=`python myPythonScript arg1 arg2 arg3 `
683 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

outputString=`python myPythonScript arg1 arg2 arg3 `
687 với đối số
outputString=`python myPythonScript arg1 arg2 arg3 `
688

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

outputString=`python myPythonScript arg1 arg2 arg3 `
692 tương đương với
outputString=`python myPythonScript arg1 arg2 arg3 `
693. Để 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à

outputString=`python myPythonScript arg1 arg2 arg3 `
694

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

Không thay đổi

Nghĩa

outputString=`python myPythonScript arg1 arg2 arg3 `
695

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

outputString=`python myPythonScript arg1 arg2 arg3 `
696

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

outputString=`python myPythonScript arg1 arg2 arg3 `
697

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

outputString=`python myPythonScript arg1 arg2 arg3 `
698;

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

outputString=`python myPythonScript arg1 arg2 arg3 `
202, trong đó bộ tạo đầu tiên và bộ hoàn thiện dự kiến ​​sẽ là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 hoặc các hàm lấy một đối số làm đối số và được sử dụng để lên lịch 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

outputString=`python myPythonScript arg1 arg2 arg3 `
205

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

outputString=`python myPythonScript arg1 arg2 arg3 `
206

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

outputString=`python myPythonScript arg1 arg2 arg3 `
207

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

outputString=`python myPythonScript arg1 arg2 arg3 `
208

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

outputString=`python myPythonScript arg1 arg2 arg3 `
209

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

outputString=`python myPythonScript arg1 arg2 arg3 `
210

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

outputString=`python myPythonScript arg1 arg2 arg3 `
211

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

outputString=`python myPythonScript arg1 arg2 arg3 `
212

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

outputString=`python myPythonScript arg1 arg2 arg3 `
2

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

outputString=`python myPythonScript arg1 arg2 arg3 `
213 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ề

outputString=`python myPythonScript arg1 arg2 arg3 `
213 có thể được tìm thấy tại

sys. triển khai

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.

outputString=`python myPythonScript arg1 arg2 arg3 `
217. 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 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 tuân theo, mà

outputString=`python myPythonScript arg1 arg2 arg3 `
215 đại diện. Ví dụ: đối với PyPy 1. 8
outputString=`python myPythonScript arg1 arg2 arg3 `
220 có thể là
outputString=`python myPythonScript arg1 arg2 arg3 `
221, trong khi
outputString=`python myPythonScript arg1 arg2 arg3 `
215 sẽ là
outputString=`python myPythonScript arg1 arg2 arg3 `
223. Đố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ư

outputString=`python myPythonScript arg1 arg2 arg3 `
225. 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
outputString=`python myPythonScript arg1 arg2 arg3 `
226 được đặt thành
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239, đ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 bình 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

outputString=`python myPythonScript arg1 arg2 arg3 `
230

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

outputString=`python myPythonScript arg1 arg2 arg3 `
231

outputString=`python myPythonScript arg1 arg2 arg3 `
232

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ố

outputString=`python myPythonScript arg1 arg2 arg3 `
233

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

outputString=`python myPythonScript arg1 arg2 arg3 `
235

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

outputString=`python myPythonScript arg1 arg2 arg3 `
233 và
outputString=`python myPythonScript arg1 arg2 arg3 `
235.

sys. __interactivehook__

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

outputString=`python myPythonScript arg1 arg2 arg3 `
243 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. đang_hoàn thiện[]

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à

outputString=`python myPythonScript arg1 arg2 arg3 `
247 để 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ể nhận. Nó thường là

outputString=`python myPythonScript arg1 arg2 arg3 `
251 trên nền tảng 32-bit và
outputString=`python myPythonScript arg1 arg2 arg3 `
252 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.

outputString=`python myPythonScript arg1 arg2 arg3 `
253 [
outputString=`python myPythonScript arg1 arg2 arg3 `
254 ở hệ thập lục phân]

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

outputString=`python myPythonScript arg1 arg2 arg3 `
255 từng là
outputString=`python myPythonScript arg1 arg2 arg3 `
256 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
254, 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 nằm 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 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

outputString=`python myPythonScript arg1 arg2 arg3 `
269 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
270 để tránh ngoại lệ vì kích thước của nó có thể thay đổi trong quá trình lặp lại 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. đường dẫn

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

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    275. thêm vào thư mục làm việc hiện tại

  • Dòng lệnh

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    276. 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

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    277 và
    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    278 [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. path_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ì

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 được lưu trữ

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

Đã thay đổi trong phiên bản 3. 3. ______3239 đượ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

outputString=`python myPythonScript arg1 arg2 arg3 `
291 với phần đầu tiên của phiên bản được trả về bởi
outputString=`python myPythonScript arg1 arg2 arg3 `
292 được thêm vào, e. g.
outputString=`python myPythonScript arg1 arg2 arg3 `
293 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
294, 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

outputString=`python myPythonScript arg1 arg2 arg3 `
6

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

Hệ thống

Giá trị

outputString=`python myPythonScript arg1 arg2 arg3 `
200

AIX

outputString=`python myPythonScript arg1 arg2 arg3 `
296

Emscripten

outputString=`python myPythonScript arg1 arg2 arg3 `
297

Linux

outputString=`python myPythonScript arg1 arg2 arg3 `
298

LÀ TÔI

outputString=`python myPythonScript arg1 arg2 arg3 `
299

các cửa sổ

outputString=`python myPythonScript arg1 arg2 arg3 `
600

Windows/Cygwin

outputString=`python myPythonScript arg1 arg2 arg3 `
601

hệ điều hành Mac

outputString=`python myPythonScript arg1 arg2 arg3 `
602

Đã 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à

outputString=`python myPythonScript arg1 arg2 arg3 `
298, thay vì
outputString=`python myPythonScript arg1 arg2 arg3 `
605 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
606. 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ữ
outputString=`python myPythonScript arg1 arg2 arg3 `
607 đượ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à

outputString=`python myPythonScript arg1 arg2 arg3 `
296, thay vì
outputString=`python myPythonScript arg1 arg2 arg3 `
610 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
611. 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ữ
outputString=`python myPythonScript arg1 arg2 arg3 `
607 đượ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 này 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

outputString=`python myPythonScript arg1 arg2 arg3 `
616 trên hầu hết các nền tảng. Trên Fedora và SuSE, nó bằng với
outputString=`python myPythonScript arg1 arg2 arg3 `
617 trên nền tảng 64-bit cung cấp các đường dẫn
outputString=`python myPythonScript arg1 arg2 arg3 `
273 sau [trong đó
outputString=`python myPythonScript arg1 arg2 arg3 `
619 là phiên bản Python
outputString=`python myPythonScript arg1 arg2 arg3 `
620]

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    621. Thư viện tiêu chuẩn [như
    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    622 của mô-đun]

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    624. 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]

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    626 [luôn sử dụng
    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    627, không phải ]. Mô-đun của bên thứ ba

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    629. 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ền tố

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ố

outputString=`python myPythonScript arg1 arg2 arg3 `
631 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

outputString=`python myPythonScript arg1 arg2 arg3 `
23 để 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à

outputString=`python myPythonScript arg1 arg2 arg3 `
634 và
outputString=`python myPythonScript arg1 arg2 arg3 `
635. 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 các cuộc gọi

outputString=`python myPythonScript arg1 arg2 arg3 `
655, 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à
outputString=`python myPythonScript arg1 arg2 arg3 `
638. Để chia sẻ các biểu tượng trên các mô-đun mở rộng, hãy gọi là
outputString=`python myPythonScript arg1 arg2 arg3 `
639. Có thể tìm thấy tên tượng trưng cho các giá trị cờ trong mô-đun [
outputString=`python myPythonScript arg1 arg2 arg3 `
657 hằng số, e. g. ]

Unix

sys. set_int_max_str_digits[maxdigits]

Đặ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ó có thể chỉ cần trả về

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239. 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.

outputString=`python myPythonScript arg1 arg2 arg3 `
646,
outputString=`python myPythonScript arg1 arg2 arg3 `
647,
outputString=`python myPythonScript arg1 arg2 arg3 `
648,
outputString=`python myPythonScript arg1 arg2 arg3 `
649 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
650. arg phụ thuộc vào loại sự kiện

Tăng một

outputString=`python myPythonScript arg1 arg2 arg3 `
651 mà không có đối số

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

outputString=`python myPythonScript arg1 arg2 arg3 `
646

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;

outputString=`python myPythonScript arg1 arg2 arg3 `
647

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;

outputString=`python myPythonScript arg1 arg2 arg3 `
648

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

outputString=`python myPythonScript arg1 arg2 arg3 `
649

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

outputString=`python myPythonScript arg1 arg2 arg3 `
650

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[interval]

Đặt khoảng thời gian chuyển chuỗi 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 luồng 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 đượ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.

outputString=`python myPythonScript arg1 arg2 arg3 `
646,
outputString=`python myPythonScript arg1 arg2 arg3 `
664,
outputString=`python myPythonScript arg1 arg2 arg3 `
647,
outputString=`python myPythonScript arg1 arg2 arg3 `
666 hoặc
outputString=`python myPythonScript arg1 arg2 arg3 `
667. 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

outputString=`python myPythonScript arg1 arg2 arg3 `
646] 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 để 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, thì nó sẽ không được đặt, giống như khi gọi _______2671

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

outputString=`python myPythonScript arg1 arg2 arg3 `
646

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;

outputString=`python myPythonScript arg1 arg2 arg3 `
664

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

outputString=`python myPythonScript arg1 arg2 arg3 `
676 để 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
outputString=`python myPythonScript arg1 arg2 arg3 `
677 thành trên khung đó

outputString=`python myPythonScript arg1 arg2 arg3 `
647

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

outputString=`python myPythonScript arg1 arg2 arg3 `
666

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

outputString=`python myPythonScript arg1 arg2 arg3 `
667

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

outputString=`python myPythonScript arg1 arg2 arg3 `
686 thành trên khung

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

outputString=`python myPythonScript arg1 arg2 arg3 `
666 đượ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

outputString=`python myPythonScript arg1 arg2 arg3 `
689, 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ề
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 để 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

outputString=`python myPythonScript arg1 arg2 arg3 `
693 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. ______2667 đã thêm loại sự kiện;

sys. set_asyncgen_hooks[firstiter , bộ 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

outputString=`python myPythonScript arg1 arg2 arg3 `
698 mà không có đối số

Tăng một

outputString=`python myPythonScript arg1 arg2 arg3 `
699 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

outputString=`python myPythonScript arg1 arg2 arg3 `
900 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

outputString=`python myPythonScript arg1 arg2 arg3 `
901 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 tiên. Khi bị tắt,
outputString=`python myPythonScript arg1 arg2 arg3 `
901 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. stderr

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

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    906 được sử dụng cho tất cả đầu vào tương tác [bao gồm cả lệnh gọi đến ];

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    908 đượ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

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    466

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 đó

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    915 trả về
    fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    484] 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

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    616 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

    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    908 đượ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
    outputString=`python myPythonScript arg1 arg2 arg3 `
    
    466 đượ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

outputString=`python myPythonScript arg1 arg2 arg3 `
466 hiện được đệm theo dòng thay vì được đệm hoàn toàn.

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

outputString=`python myPythonScript arg1 arg2 arg3 `
929

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

outputString=`python myPythonScript arg1 arg2 arg3 `
927

sys. __stdin__sys. __stdout__sys. __stderr__

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

outputString=`python myPythonScript arg1 arg2 arg3 `
906,
outputString=`python myPythonScript arg1 arg2 arg3 `
466 và
outputString=`python myPythonScript arg1 arg2 arg3 `
908 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
outputString=`python myPythonScript arg1 arg2 arg3 `
935 đã đượ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

outputString=`python myPythonScript arg1 arg2 arg3 `
906,
outputString=`python myPythonScript arg1 arg2 arg3 `
908 và
outputString=`python myPythonScript arg1 arg2 arg3 `
466 cũng như các giá trị gốc
outputString=`python myPythonScript arg1 arg2 arg3 `
939,
outputString=`python myPythonScript arg1 arg2 arg3 `
940 và
outputString=`python myPythonScript arg1 arg2 arg3 `
941 có thể là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239. 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

outputString=`python myPythonScript arg1 arg2 arg3 `
943 được liệt kê, nhưng gói phụ
outputString=`python myPythonScript arg1 arg2 arg3 `
944 và mô-đun phụ
outputString=`python myPythonScript arg1 arg2 arg3 `
945 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

outputString=`python myPythonScript arg1 arg2 arg3 `
947

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

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    948. Chủ đề Windows

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    949. chủ đề POSIX

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    950. sơ khai chủ đề POSIX [trên nền tảng WebAssugging không hỗ trợ luồng]

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    951. chủ đề năng lượng mặt trời

outputString=`python myPythonScript arg1 arg2 arg3 `
952

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

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    953. một khóa sử dụng một semaphore

  • outputString=`python myPythonScript arg1 arg2 arg3 `
    
    954. một khóa sử dụng một mutex và một biến điều kiện

  • fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    239 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

fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239 nếu thông tin này không xác định

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

sys. giới hạn truy nguyê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à

outputString=`python myPythonScript arg1 arg2 arg3 `
958. Khi được đặt thành
outputString=`python myPythonScript arg1 arg2 arg3 `
959 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[unraisablehook , /]

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à

    fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    239

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

    fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    239

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

    fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    239

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

    fileLocation=`python myPythonScript1 arg1 arg2 arg1`
    python myPythonScript2 $fileLocation
    
    239

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

outputString=`python myPythonScript arg1 arg2 arg3 `
965;

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

outputString=`python myPythonScript arg1 arg2 arg3 `
969 với các đối số
outputString=`python myPythonScript arg1 arg2 arg3 `
421,
outputString=`python myPythonScript arg1 arg2 arg3 `
971 khi xảy ra ngoại lệ không thể xử lý. Đối tượng
outputString=`python myPythonScript arg1 arg2 arg3 `
971 giống với đối tượng sẽ được truyền vào hook. Nếu chưa đặt hook,
outputString=`python myPythonScript arg1 arg2 arg3 `
421 có thể là
fileLocation=`python myPythonScript1 arg1 arg2 arg1`
python myPythonScript2 $fileLocation
239

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. version_info

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ị

outputString=`python myPythonScript arg1 arg2 arg3 `
975 tương ứng với phiên bản Python 2. 0 là
outputString=`python myPythonScript arg1 arg2 arg3 `
982. Các thành phần cũng có thể được truy cập theo tên, vì vậy
outputString=`python myPythonScript arg1 arg2 arg3 `
983 tương đương với
outputString=`python myPythonScript arg1 arg2 arg3 `
984, 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. 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. Thí dụ

outputString=`python myPythonScript arg1 arg2 arg3 `
9

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

Chúng ta có thể trả về chuỗi trong shell script không?

Hàm Bash có thể trả về giá trị chuỗi bằng cách sử dụng biến toàn cục . Trong ví dụ sau, một biến toàn cục, 'retval' được sử dụng. Một giá trị chuỗi được gán và in trong biến toàn cục này trước và sau khi gọi hàm. Giá trị của biến toàn cục sẽ bị thay đổi sau khi gọi hàm.

Làm cách nào để lấy đầu ra của tập lệnh Python trong tập lệnh Shell?

xuất chuẩn. flush[] sau mỗi print[] và cho tập lệnh shell COMMAND='. /kiểm tra. py chạy' . Bây giờ nó đang phát trực tuyến đầu ra trong thời gian thực.

Làm cách nào để chuyển đầu ra của tập lệnh Python sang biến shell?

Giống như cách bạn đặt đầu ra của bất kỳ thứ gì vào một biến hệ vỏ. `backquotes` hoặc $[]. Nếu tập lệnh có thể thực thi được, đây chỉ là, e. g. , foo=`bar` foo=$[bar] .
r="2. 75" # bash không thực hiện dấu phẩy động
# trăn làm
pi=$[python -c 'nhập toán; in[[4 * toán. atan[1]]]']
diện tích=$[

Tệp Python có thể trả về giá trị không?

Một hàm Python sẽ luôn có giá trị trả về . Không có khái niệm về thủ tục hay thói quen trong Python. Vì vậy, nếu bạn không rõ ràng sử dụng giá trị trả về trong câu lệnh trả về hoặc nếu bạn hoàn toàn bỏ qua câu lệnh trả về, thì Python sẽ ngầm trả về giá trị mặc định cho bạn.

Chủ Đề