Trong bài viết này, bạn sẽ tìm hiểu cách phát hiện hệ điều hành hiện đang được sử dụng trong hệ thống của mình bằng Python
'Windows' for Windows OS
'Darwin' for macOS
9 và 'Windows' for Windows OS
'Darwin' for macOS
0 là các mô-đun Python mà qua đó chúng ta có thể truy cập thông tin hệ thốngPhát hiện hệ điều hành bằng Mô-đun 'Windows' for Windows OS
'Darwin' for macOS
9 trong Python
'Windows' for Windows OS
'Darwin' for macOS
Mô-đun
'Windows' for Windows OS
'Darwin' for macOS
9 chứa thông tin về chi tiết phần cứng hệ thống bên dưới. Bạn có thể sử dụng đoạn mã sau để kiểm tra tên của hệ điều hànhimport platform
my_os = platform.system[]
print["OS in my system : ",my_os]
đầu ra
Tại đây, mô-đun
'Windows' for Windows OS
'Darwin' for macOS
9 được nhập, chứa chức năng hệ thống tích hợp sẵn 'Windows' for Windows OS
'Darwin' for macOS
4. Hàm 'Windows' for Windows OS
'Darwin' for macOS
4 trả về tên hệ điều hành sau khi nó được gọiĐối với các hệ điều hành khác, đầu ra của
'Windows' for Windows OS
'Darwin' for macOS
1 là'Windows' for Windows OS
'Darwin' for macOS
Phát hiện Hệ điều hành bằng Mô-đun 'Windows' for Windows OS
'Darwin' for macOS
2 trong Python
'Windows' for Windows OS
'Darwin' for macOS
Mô-đun
'Windows' for Windows OS
'Darwin' for macOS
2 cũng có thể được sử dụng để tìm hệ điều hành của thiết bị. Chúng tôi sử dụng thuộc tính 'Windows' for Windows OS
'Darwin' for macOS
9 của mô-đun 'Windows' for Windows OS
'Darwin' for macOS
2 để lấy tên hệ điều hành trên thiết bị của chúng tôiimport sys
my_os=sys.platform
print["OS in my system : ",my_os]
đầu ra
Bất cứ khi nào bạn muốn phân biệt cụ thể hệ thống của mình giữa
'Windows' for Windows OS
'Darwin' for macOS
6 và 'Windows' for Windows OS
'Darwin' for macOS
7, phương pháp này có thể rất hữu íchCách tiếp cận này cũng có thể hữu ích khi chúng tôi muốn phân biệt cụ thể hệ thống của bạn giữa
'Windows' for Windows OS
'Darwin' for macOS
6 và 'Windows' for Windows OS
'Darwin' for macOS
7Đối với các đầu ra
import sys
my_os=sys.platform
print["OS in my system : ",my_os]
0 của hệ điều hành khác dưới dạng'Windows' for Windows OS
'Darwin' for macOS
2Trước đó, đối với Linux,
import sys
my_os=sys.platform
print["OS in my system : ",my_os]
0 sẽ chứa các tên phiên bản là import sys
my_os=sys.platform
print["OS in my system : ",my_os]
2 và import sys
my_os=sys.platform
print["OS in my system : ",my_os]
3, nhưng nó luôn là import sys
my_os=sys.platform
print["OS in my system : ",my_os]
4 cho mọi phiên bảnHai lệnh đơn giản được trình bày ngắn gọn ở trên sẽ giúp bạn lấy thông tin về hệ điều hành của mình
Không có nhiều sự khác biệt giữa
import sys
my_os=sys.platform
print["OS in my system : ",my_os]
0 và import sys
my_os=sys.platform
print["OS in my system : ",my_os]
6. import sys
my_os=sys.platform
print["OS in my system : ",my_os]
6 thực thi tại thời điểm chạy trong khi import sys
my_os=sys.platform
print["OS in my system : ",my_os]
0 thực thi tại thời điểm biên dịch Truy vấn tệp thực thi đã cho [mặc định là nhị phân trình thông dịch Python] để biết thông tin kiến trúc khác nhau
Trả về một bộ
'Windows' for Windows OS
'Darwin' for macOS
7 chứa thông tin về kiến trúc bit và định dạng liên kết được sử dụng cho tệp thực thi. Cả hai giá trị được trả về dưới dạng chuỗiCác giá trị không thể xác định được trả về như đã cho bởi các giá trị đặt trước tham số. Nếu các bit được cho là
'Windows' for Windows OS
'Darwin' for macOS
8, thì 'Windows' for Windows OS
'Darwin' for macOS
9 [hoặc 'Windows' for Windows OS
'Darwin' for macOS
0 trên phiên bản Python < 1. 5. 2] được sử dụng làm chỉ báo cho kích thước con trỏ được hỗ trợHàm này dựa vào lệnh
'Windows' for Windows OS
'Darwin' for macOS
1 của hệ thống để thực hiện công việc thực tế. Điều này khả dụng trên hầu hết nếu không muốn nói là tất cả các nền tảng Unix và một số nền tảng không phải Unix và sau đó chỉ khi tệp thực thi trỏ đến trình thông dịch Python. Mặc định hợp lý được sử dụng khi các nhu cầu trên không được đáp ứngGhi chú
Trên macOS [và có lẽ cả các nền tảng khác], các tệp thực thi có thể là các tệp chung chứa nhiều kiến trúc
Để có được “64-bitness” của trình thông dịch hiện tại, việc truy vấn thuộc tính sẽ đáng tin cậy hơn
'Windows' for Windows OS
'Darwin' for macOS
1nền tảng. máy[]Trả về loại máy, e. g.
'Windows' for Windows OS
'Darwin' for macOS
2. Một chuỗi rỗng được trả về nếu không xác định được giá trịnền tảng. nút[]Trả về tên mạng của máy tính [có thể không đủ điều kiện. ]. Một chuỗi rỗng được trả về nếu không xác định được giá trị
nền tảng. nền tảng[bí danh=0 , ngắn gọn=0]Trả về một chuỗi xác định nền tảng cơ bản với càng nhiều thông tin hữu ích càng tốt
Đầu ra được thiết kế để con người có thể đọc được thay vì máy có thể phân tích cú pháp. Nó có thể trông khác nhau trên các nền tảng khác nhau và điều này nhằm mục đích
Nếu bí danh là đúng, chức năng sẽ sử dụng bí danh cho các nền tảng khác nhau báo cáo tên hệ thống khác với tên thông thường của chúng, ví dụ: SunOS sẽ được báo cáo là Solaris. Chức năng được sử dụng để thực hiện điều này
Đặt terse thành true khiến hàm chỉ trả về thông tin tối thiểu tuyệt đối cần thiết để xác định nền tảng
Đã thay đổi trong phiên bản 3. 8. Trên macOS, hàm hiện sử dụng , nếu nó trả về một chuỗi phát hành không trống, để lấy phiên bản macOS thay vì phiên bản darwin.
nền tảng. bộ xử lý[]Trả về tên bộ xử lý [thực], e. g.
'Windows' for Windows OS
'Darwin' for macOS
22Một chuỗi rỗng được trả về nếu không xác định được giá trị. Lưu ý rằng nhiều nền tảng không cung cấp thông tin này hoặc chỉ trả về giá trị giống như đối với. NetBSD làm điều này
Trả về một tuple
'Windows' for Windows OS
'Darwin' for macOS
24 cho biết ngày và số bản dựng Python dưới dạng chuỗinền tảng. python_compiler[]Trả về một chuỗi xác định trình biên dịch được sử dụng để biên dịch Python
nền tảng. python_branch[]Trả về một chuỗi xác định nhánh SCM triển khai Python
nền tảng. python_implementation[]Trả về một chuỗi xác định việc triển khai Python. Các giá trị trả về có thể là. 'CPython', 'IronPython', 'Jython', 'PyPy'
nền tảng. python_revision[]Trả về một chuỗi xác định bản sửa đổi SCM triển khai Python
nền tảng. python_version[]Trả về phiên bản Python dưới dạng chuỗi
'Windows' for Windows OS
'Darwin' for macOS
25Lưu ý rằng không giống như Python
'Windows' for Windows OS
'Darwin' for macOS
26, giá trị được trả về sẽ luôn bao gồm mức vá lỗi [giá trị này mặc định là 0]nền tảng. python_version_tuple[]Trả về phiên bản Python dưới dạng bộ chuỗi
'Windows' for Windows OS
'Darwin' for macOS
27Lưu ý rằng không giống như Python
'Windows' for Windows OS
'Darwin' for macOS
26, giá trị được trả về sẽ luôn bao gồm mức vá lỗi [giá trị này mặc định là 'Windows' for Windows OS
'Darwin' for macOS
29]nền tảng. bản phát hành[]Trả về bản phát hành của hệ thống, e. g.
'Windows' for Windows OS
'Darwin' for macOS
30 hoặc 'Windows' for Windows OS
'Darwin' for macOS
31. Một chuỗi rỗng được trả về nếu không xác định được giá trịnền tảng. hệ thống[]Trả về tên hệ thống/hệ điều hành, chẳng hạn như
'Windows' for Windows OS
'Darwin' for macOS
32, 'Windows' for Windows OS
'Darwin' for macOS
33, 'Windows' for Windows OS
'Darwin' for macOS
34, 'Windows' for Windows OS
'Darwin' for macOS
35. Một chuỗi rỗng được trả về nếu không xác định được giá trịnền tảng. system_alias[hệ thống , bản phát hành , phiên bản]Trả về
'Windows' for Windows OS
'Darwin' for macOS
36 bí danh cho các tên tiếp thị phổ biến được sử dụng cho một số hệ thống. Nó cũng thực hiện một số sắp xếp lại thông tin trong một số trường hợp nếu không nó sẽ gây nhầm lẫnnền tảng. phiên bản[]Trả về phiên bản phát hành của hệ thống, e. g.
'Windows' for Windows OS
'Darwin' for macOS
37. Một chuỗi rỗng được trả về nếu không xác định được giá trịnền tảng. uname[]Giao diện uname khá di động. Trả về một chứa sáu thuộc tính. , , , , , và
Lưu ý rằng điều này thêm một thuộc tính thứ sáu [] không có trong kết quả. Ngoài ra, tên thuộc tính khác nhau đối với hai thuộc tính đầu tiên;
Các mục nhập không thể xác định được đặt thành
'Windows' for Windows OS
'Darwin' for macOS
8Đã thay đổi trong phiên bản 3. 3. Kết quả đã thay đổi từ một bộ thành một.
Nền tảng Java
nền tảng. java_ver[phát hành=', vendor='', vminfo=['', '', ''], osinfo=['', '', '']]Phiên bản giao diện cho Jython
Trả về một tuple
'Windows' for Windows OS
'Darwin' for macOS
82 với vminfo là một tuple 'Windows' for Windows OS
'Darwin' for macOS
83 và osinfo là một tuple 'Windows' for Windows OS
'Darwin' for macOS
84. Các giá trị không thể xác định được đặt thành giá trị mặc định được cung cấp dưới dạng tham số [tất cả đều được đặt mặc định là 'Windows' for Windows OS
'Darwin' for macOS
8]Nền tảng Windows
nền tảng. win32_ver[bản phát hành=', version='', csd='', ptype='']Nhận thông tin phiên bản bổ sung từ Windows Registry và trả về một bộ dữ liệu
'Windows' for Windows OS
'Darwin' for macOS
86 đề cập đến bản phát hành hệ điều hành, số phiên bản, cấp độ CSD [gói dịch vụ] và loại hệ điều hành [bộ xử lý đa/đơn]. Các giá trị không thể xác định được đặt thành giá trị mặc định được cung cấp dưới dạng tham số [tất cả giá trị này được đặt mặc định thành chuỗi trống]Như một gợi ý. ptype là
'Windows' for Windows OS
'Darwin' for macOS
87 trên máy NT bộ xử lý đơn và 'Windows' for Windows OS
'Darwin' for macOS
88 trên máy đa bộ xử lý. 'Miễn phí' đề cập đến phiên bản hệ điều hành không có mã gỡ lỗi. Nó cũng có thể ghi là 'Đã kiểm tra', nghĩa là phiên bản hệ điều hành sử dụng mã gỡ lỗi, tôi. e. mã kiểm tra đối số, phạm vi, v.v.nền tảng. win32_edition[]Trả về một chuỗi đại diện cho phiên bản Windows hiện tại hoặc
'Windows' for Windows OS
'Darwin' for macOS
89 nếu không thể xác định giá trị. Các giá trị có thể bao gồm nhưng không giới hạn ở 'Windows' for Windows OS
'Darwin' for macOS
90, 'Windows' for Windows OS
'Darwin' for macOS
91, 'Windows' for Windows OS
'Darwin' for macOS
92 và 'Windows' for Windows OS
'Darwin' for macOS
93Mới trong phiên bản 3. 8
nền tảng. win32_is_iot[]Trả lại
'Windows' for Windows OS
'Darwin' for macOS
94 nếu phiên bản Windows được trả về được công nhận là phiên bản IoTMới trong phiên bản 3. 8
nền tảng macOS
nền tảng. mac_ver[phát hành=', versioninfo=['', '', ''], machine='']Nhận thông tin phiên bản macOS và trả lại dưới dạng bộ dữ liệu
'Windows' for Windows OS
'Darwin' for macOS
96 với thông tin phiên bản là bộ dữ liệu 'Windows' for Windows OS
'Darwin' for macOS
97Các mục nhập không thể xác định được đặt thành
'Windows' for Windows OS
'Darwin' for macOS
8. Tất cả các mục tuple là chuỗiNền tảng Unix
nền tảng. libc_ver[có thể thực thi được=sys. có thể thực thi , lib='', version='', chunksize=16384]Cố gắng xác định phiên bản libc mà tệp thực thi [mặc định là trình thông dịch Python] được liên kết. Trả về một bộ chuỗi
'Windows' for Windows OS
'Darwin' for macOS
99 mặc định cho các tham số đã cho trong trường hợp tra cứu không thành côngLưu ý rằng chức năng này có kiến thức sâu sắc về cách các phiên bản libc khác nhau thêm các ký hiệu vào tệp thực thi có thể chỉ sử dụng được cho các tệp thực thi được biên dịch bằng gcc
Tệp được đọc và quét theo khối chunksize byte
Nền tảng Linux
nền tảng. freedesktop_os_release[]Nhận nhận dạng hệ điều hành từ tệp
'Windows' for Windows OS
'Darwin' for macOS
00 và gửi lại dưới dạng chính tả. Tệp 'Windows' for Windows OS
'Darwin' for macOS
00 là một máy tính để bàn miễn phí. org và có sẵn trong hầu hết các bản phân phối Linux. Một ngoại lệ đáng chú ý là Android và các bản phân phối dựa trên AndroidTăng hoặc phân lớp khi cả
'Windows' for Windows OS
'Darwin' for macOS
03 và 'Windows' for Windows OS
'Darwin' for macOS
04 đều không thể đọc đượcKhi thành công, hàm trả về một từ điển trong đó các khóa và giá trị là các chuỗi. Các giá trị có các ký tự đặc biệt như
'Windows' for Windows OS
'Darwin' for macOS
05 và 'Windows' for Windows OS
'Darwin' for macOS
06 không được trích dẫn. Các trường 'Windows' for Windows OS
'Darwin' for macOS
07, 'Windows' for Windows OS
'Darwin' for macOS
08 và 'Windows' for Windows OS
'Darwin' for macOS
09 luôn được xác định theo tiêu chuẩn. Tất cả các lĩnh vực khác là tùy chọn. Nhà cung cấp có thể bao gồm các trường bổ sungLưu ý rằng các trường như
'Windows' for Windows OS
'Darwin' for macOS
07, 'Windows' for Windows OS
'Darwin' for macOS
11 và 'Windows' for Windows OS
'Darwin' for macOS
12 là các chuỗi phù hợp để hiển thị cho người dùng. Các chương trình nên sử dụng các trường như ________ 408, ________ 414, ________ 415 hoặc ________ 416 để xác định các bản phân phối Linux