thể trùng lặp:
Python: What OS am I running on?Làm thế nào tôi có thể tìm thấy hệ điều hành hiện tại bằng Python?
Như tiêu đề nói, làm thế nào tôi có thể tìm thấy hệ điều hành hiện tại trong python?
thể trùng lặp:
Python: What OS am I running on?Làm thế nào tôi có thể tìm thấy hệ điều hành hiện tại bằng Python?
Như tiêu đề nói, làm thế nào tôi có thể tìm thấy hệ điều hành hiện tại trong python?
Tôi thường sử dụng sys.platform
để tải nền tảng. sys.platform
sẽ phân biệt giữa linux, các unix khác và OS X trong khi os.name
là "posix
" cho tất cả chúng.
Để biết thông tin chi tiết hơn, hãy sử dụng platform module. Điều này có chức năng đa nền tảng sẽ cung cấp cho bạn thông tin về kiến trúc máy, hệ điều hành và phiên bản hệ điều hành, phiên bản của Python, v.v. Ngoài ra nó có các chức năng đặc trưng cho os để có được những thứ như bản phân phối Linux cụ thể.
https://docs.python.org/library/os.html
Để bổ sung cho bài Greg, nếu bạn đang ở trên một hệ thống posix, trong đó bao gồm hệ điều hành MacOS, Linux, Unix, vv bạn có thể sử dụng os.uname() để có được một cảm giác tốt hơn cho những loại hệ thống nó là.
import os
print os.name
Điều này cung cấp cho bạn những thông tin cần thiết bạn thường cần. Để phân biệt giữa các phiên bản Windows khác nhau, bạn sẽ phải sử dụng một phương pháp nền tảng cụ thể.
Something dọc theo dòng:
import os
if (os.name == "posix"):
print os.system("uname -a")
# insert other possible OSes here
# ...
else:
print "unknown OS"
Nếu bạn muốn dữ liệu người dùng có thể đọc được nhưng vẫn chi tiết, bạn có thể sử dụng platform.platform()
>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'
platform
cũng có một số phương pháp hữu ích khác:
>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'
Đây là một vài cuộc gọi khác nhau mà bạn có thể ke để xác định bạn đang ở đâu
import platform
import sys
def linux_distribution():
try:
return platform.linux_distribution()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
mac_ver: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_distribution(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
platform.mac_ver(),
))
Các đầu ra của kịch bản này chạy trên một bó toàn bộ các hệ thống khác nhau có sẵn ở đây: https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version
Đây là câu trả lời tôi đang tìm kiếm! –
Mặc dù câu trả lời của bạn là nắm tay và là đúng, câu trả lời Greg Hewgill là hoàn thiện hơn, Tôi đánh giá cao câu trả lời của bạn và tư vấn cho bạn, đăng thêm rồi chỉ liên kết, trong tương lai. – UnkwnTech
Vâng, đó là súng nhanh nhất trong vấn đề phía tây. Tôi có xu hướng đăng mọi thứ nhanh chóng sau đó chỉnh sửa với nhiều thông tin hơn. – bmdhacks
Tôi thường đợi để trả lời các câu hỏi của mình khi tôi quay lại với họ để xem có bài đăng nào tốt hơn ngay cả sau khi tôi đã chấp nhận hay không. – UnkwnTech