كيف يمكنني العثور على نظام التشغيل الحالي في بايثون؟[ينسخ]
-
02-07-2019 - |
سؤال
التكرار المحتمل:
بايثون:ما هو نظام التشغيل الذي أعمل عليه؟
كما يقول العنوان، كيف يمكنني العثور على نظام التشغيل الحالي في بايثون؟
المحلول
أنا عادة استخدام sys.platform
للحصول على المنصة. sys.platform
سوف يميز بين لينكس، ويونكس الأخرى، وOS X في حين os.name
يكون "posix
" لاجلهم جميعا.
للحصول على معلومات أكثر تفصيلاً، استخدم وحدة النظام الأساسي.يحتوي هذا على وظائف مشتركة بين الأنظمة الأساسية ستمنحك معلومات حول بنية الجهاز ونظام التشغيل وإصدار نظام التشغيل وإصدار Python وما إلى ذلك.كما أن لديها وظائف خاصة بنظام التشغيل للحصول على أشياء مثل توزيعة Linux المحددة.
نصائح أخرى
إذا كنت تريد بيانات يمكن للمستخدم قراءتها ولكن لا تزال مفصلة، فيمكنك استخدامها منصة.منصة ()
>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'
platform
لديه أيضًا بعض الطرق المفيدة الأخرى:
>>> platform.system()
'Windows'
>>> platform.release()
'XP'
>>> platform.version()
'5.1.2600'
إليك بعض المكالمات المحتملة المختلفة التي يمكنك إجراؤها لتحديد مكانك
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(),
))
تم تشغيل مخرجات هذا البرنامج النصي على عدد قليل من الأنظمة المختلفة (Linux وWindows وSolaris وMacOS) والبنيات (x86 وx64 وItanium وpower pc وsparc) متاحة هنا: https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version
import os
print os.name
يمنحك هذا المعلومات الأساسية التي ستحتاجها عادةً.للتمييز بين الإصدارات المختلفة من Windows، على سبيل المثال، سيتعين عليك استخدام طريقة خاصة بالنظام الأساسي.
https://docs.python.org/library/os.html
لاستكمال منشور جريج، إذا كنت تستخدم نظام posix، والذي يتضمن MacOS وLinux وUnix وما إلى ذلك.يمكنك استخدام os.uname() للتعرف بشكل أفضل على نوع النظام.
شيء على طول السطور:
import os
if (os.name == "posix"):
print os.system("uname -a")
# insert other possible OSes here
# ...
else:
print "unknown OS"