পাইথন: ওএস কি চলছে?

আমি উইন্ডোজ, ইউনিক্স, ইত্যাদি কিনা তা দেখার জন্য কি কি লাগবে?

0
এখানে একটি সম্পর্কিত প্রশ্ন: লিনাক্স ডিস্ট্রো নাম পরীক্ষা করুন
যোগ লেখক blong, উৎস
বিস্তারিত জানার জন্য ( bugs.python.org/issue12326 ) দেখুন!
যোগ লেখক arnkore, উৎস

19 উত্তর

>>> import os
>>> print os.name
posix
>>> import platform
>>> platform.system()
'Linux'
>>> platform.release()
'2.6.22-15-generic'

platform.system() এর আউটপুট নিম্নরূপ:

  • Linux: Linux
  • Mac: Darwin
  • Windows: Windows

See: platform ? Access to underlying platform?s identifying data

0
যোগ
আমি কেন প্ল্যাটফর্ম over sys.platform পছন্দ করি?
যোগ লেখক matth, উৎস
@matth সামান্য আরো সুসংগত আউটপুট। যেমন "win32" এর পরিবর্তে platform.system() ফেরৎ "উইন্ডোজ"sys.platform এও Python এর পুরোনো সংস্করণগুলিতে "linux2" রয়েছে, এটিতে কেবলমাত্র "linux" রয়েছে। platform.system() সবসময় "লিনাক্স" ফিরে এসেছে।
যোগ লেখক erb, উৎস
ম্যাক ওএস এক্স, প্ল্যাটফর্ম.system() সর্বদা "ডারউইন" ফিরে আসেন? বা অন্য কোন ক্ষেত্রে সম্ভব?
যোগ লেখক baptiste chéné, উৎস

এখানে রেকর্ডের জন্য ম্যাকের ফলাফলগুলি রয়েছে:

>>> import os
>>> os.name
'posix'
>>> import platform
>>> platform.system()
'Darwin'
>>> platform.release()
'8.11.1'
0
যোগ

আপনি সমস্ত তথ্য পেতে ওএস মডিউল আমদানী ছাড়া শুধুমাত্র প্ল্যাটফর্ম মডিউল ব্যবহার করতে পারেন।

>>> import platform
>>> platform.os.name
'posix'
>>> platform.uname()
('Darwin', 'mainframe.local', '15.3.0', 'Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64', 'x86_64', 'i386')

এই লাইন ব্যবহার করে লক্ষ্য উদ্দেশ্যে একটি সুন্দর এবং সুনির্দিষ্ট বিন্যাস করা যাবে:

for i in zip(['system','node','release','version','machine','processor'],platform.uname()):print i[0],':',i[1]

যে এই আউটপুট দেয়:

system : Darwin
node : mainframe.local
release : 15.3.0
version : Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64
machine : x86_64
processor : i386

সাধারণত অনুপস্থিত অপারেটিং সিস্টেমের সংস্করণ কিন্তু আপনি জানবেন যে আপনি উইন্ডোজ চালনা করছেন কিনা, লিনাক্স বা ম্যাক একটি প্ল্যাটফর্ম অসম্পূর্ণ পদ্ধতি এই পরীক্ষাটি ব্যবহার করতে হবে:

In []: for i in [platform.linux_distribution(),platform.mac_ver(),platform.win32_ver()]:
   ....:     if i[0]:
   ....:         print 'Version: ',i[0]
0
যোগ

উইন্ডোজ 8 এ আকর্ষণীয় ফলাফল:

>>> import os
>>> os.name
'nt'
>>> import platform
>>> platform.system()
'Windows'
>>> platform.release()
'post2008Server'

Edit: That's a bug

0
যোগ

দেখুন আপনি যদি উইন্ডোজ এ থাকেন তবে সিগুইনের সাথে os.name হল posix

>>> import os, platform
>>> print os.name
posix
>>> print platform.system()
CYGWIN_NT-6.3-WOW
0
যোগ

জথন জন্য আমি পাওয়া OS নাম পেতে একমাত্র উপায় <�কোড> os.name </কোড> জাভা সম্পত্তি (<�কোড> SYS </কোড>, <�কোড> ওএস </কোড> এবং <�কোড> সঙ্গে চেষ্টা করে) চেক করা হয় প্ল্যাটফর্ম </কোড> জয়থন 2.5.3 WinXP- এর জন্য মডিউল):

def get_os_platform():
    """return platform name, but for Jython it uses os.name Java property"""
    ver = sys.platform.lower()
    if ver.startswith('java'):
        import java.lang
        ver = java.lang.System.getProperty("os.name").lower()
    print('platform: %s' % (ver))
    return ver
0
যোগ

কিভাবে একটি নতুন উত্তর সম্পর্কে:

import psutil
psutil.OSX     #True
psutil.WINDOWS #False
psutil.LINUX   #False 

আমি যদি OSX ব্যবহার করে থাকি তাহলে এই আউটপুট হবে

0
যোগ
psutil মান lib এর অংশ নয়
যোগ লেখক Corey Goldberg, উৎস
সম্ভবত সব উত্তর সবচেয়ে মার্জিত
যোগ লেখক jsphpl, উৎস

আপনি ব্যবহারকারী পাঠযোগ্য তথ্য চান কিন্তু এখনও বিস্তারিত, আপনি platform.platform() ব্যবহার

>>> import platform
>>> platform.platform()
'Linux-3.3.0-8.fc16.x86_64-x86_64-with-fedora-16-Verne'

এখানে আপনি যেখানে আপনি সনাক্ত করতে করতে পারেন কয়েক ভিন্ন সম্ভাব্য কল

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(),
))

The outputs of this script ran on a few different systems is available here: https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version

0
যোগ

মডিউল প্ল্যাটফর্মের সাথে উপলব্ধ পরীক্ষাগুলি পরীক্ষা করুন এবং আপনার সিস্টেমের জন্য উত্তরটি মুদ্রণ করুন:

import platform

print dir(platform)

for x in dir(platform):
    if x[0].isalnum():
        try:
            result = getattr(platform, x)()
            print "platform."+x+": "+result
        except TypeError:
            continue
0
যোগ

আমি এই কাজ

import sys
print sys.platform

এখানে দস্তাবেজ: sys.platform

আপনার প্রয়োজন সম্ভবত sys মডিউল সম্ভবত।

0
যোগ

ড্যাং - লিল্যান্ডে আমাকে মুষ্ট্যাঘাতে ধাক্কা মেরেছে, কিন্তু এর মানে এই নয় যে আমি ভিস্তা জন্য সিস্টেমের ফলাফল দিয়ে দিতে পারি না!

>>> import os
>>> os.name
'nt'
>>> import platform
>>> platform.system()
'Windows'
>>> platform.release()
'Vista'

... এবং আমি বিশ্বাস করতে পারি না যে কেউই উইন্ডোজ 10 এর জন্য পোস্ট করেন না:

>>> import os
>>> os.name
'nt'
>>> import platform
>>> platform.system()
'Windows'
>>> platform.release()
'10'
0
যোগ
আমি উইন্ডোজ 8 (বনাম এটি একটি পরিষ্কার ইনস্টল করা হচ্ছে) থেকে সংশোধন করা সম্ভবত এবং আপনি পাইথন যাই হোক না কেন রেজিস্ট্রি মধ্যে দেখায় বা পিছনে বাম ছিল?
যোগ লেখক OJFord, উৎস
তাই, হ্যাঁ, আমি platform.release() আমার উইন্ডোজ 10 এ দৌড়েছি এবং এটি স্পষ্টতই আমাকে কোডটি দিয়েছে '8' </কোড>। হয়তো আমি আপগ্রেড করার আগে পাইথন ইনস্টল করেছি, কিন্তু সত্যিই ??
যোগ লেখক Codesmith, উৎস
উইন্ডোজে পাইথনের রিলিজের সন্ধানটি তার মূল ভাষায় Win32 api ফাংশন GetVersionEx ব্যবহার করতে দেখা যায়। এই ফাংশন সম্পর্কে এই মাইক্রোসফ্ট নিবন্ধ শীর্ষে নোট প্রাসঙ্গিক হতে পারে: msdn.microsoft.com/en-us/library/windows/desktop/…
যোগ লেখক theferrit32, উৎস
উইন্ডোজ 7: platform.release() '7'
যোগ লেখক Hugo, উৎস

আপনি sysplatform ব্যবহার করতে পারেন যদি আপনি ইতিমধ্যে sys আমদানি করেন এবং আপনি অন্য মডিউল আমদানি করতে চান না

>>> import sys
>>> sys.platform
'linux2'
0
যোগ
অন্য মডিউল আমদানি বা না থাকার ছাড়াও পন্থাগুলির কোনও সুবিধা আছে?
যোগ লেখক matth, উৎস
স্কপিং হল প্রধান সুবিধা। আপনি সম্ভব হিসাবে কয়েক গ্লোবাল ভেরিয়েবল নাম হিসাবে চান। যখন আপনি ইতিমধ্যেই "sys" একটি বিশ্বব্যাপী নাম হিসাবে আছে, আপনি অন্য একটি যোগ করা উচিত নয়। কিন্তু আপনি যদি "sys" ব্যবহার না করেন তবে "_platform" ব্যবহার করে আরো বর্ণনামূলক হতে পারে এবং অন্য অর্থের সাথে সংঘর্ষের সম্ভাবনা কম হতে পারে।
যোগ লেখক sanderd17, উৎস

আমি WLST টুলটি ব্যবহার করছি যা ওয়েবলগনিকের সাথে আসে এবং এটি প্ল্যাটফর্ম প্যাকেজটি বাস্তবায়ন করে না।

wls:/offline> import os
wls:/offline> print os.name
java 
wls:/offline> import sys
wls:/offline> print sys.platform
'java1.5.0_11'

সিস্টেমকে প্যাচিং ছাড়াও javaos.py ( উইন্ডোজ 2003-এ jdk1.5।) (যা আমি করতে পারছি না, আমি ওয়েবলগনিককে বাক্সের বাইরে ব্যবহার করতে হবে) এ ossystem() দিয়ে ইস্যু করি। আমি এটি ব্যবহার করি:

def iswindows():
  os = java.lang.System.getProperty( "os.name" )
  return "win" in os.lower()

0
যোগ

একই শিরা মধ্যে....

import platform
is_windows=(platform.system().lower().find("win") > -1)

if(is_windows): lv_dll=LV_dll("my_so_dll.dll")
else:           lv_dll=LV_dll("./my_so_dll.so")
0
যোগ
is_windows = platform.system ()। নিম্ন ()। শুরু হয় ("জয়") বা মিথ্যা
যোগ লেখক Corey Goldberg, উৎস
এই সমস্যাটি যদি আপনি একটি ম্যাক হয় প্লাটফর্ম.system() একটি ম্যাক এবং "ডারউইন" উপর "ডারউইন" ফেরত। তরঙ্গ ()। ("জয়") = 3 খুঁজে।
যোগ লেখক mishaF, উৎস

/usr/bin/python3.2

def cls():
    from subprocess import call
    from platform import system

    os = system()
    if os == 'Linux':
        call('clear', shell = True)
    elif os == 'Windows':
        call('cls', shell = True)
0
যোগ
SO এ স্বাগতম, এখানে, আপনার সমাধান ব্যবহার করার জন্য ব্যাখ্যা করা একটি ভাল অভ্যাস এবং না ঠিক কিভাবে। যে আপনার উত্তর আরও মূল্যবান করতে হবে এবং আপনি কিভাবে এটি ভালভাবে বুঝতে হবে আরও পাঠক সাহায্য। আমি আপনাকে আমাদের প্রশ্নাবলী একটি চেহারা আছে সুপারিশ: stackoverflow.com/faq
যোগ লেখক ForceMagic, উৎস
ভাল উত্তর, এমনকি মূল উত্তর সঙ্গে সমরূপ এমনকি। কিন্তু আপনি কেন ব্যাখ্যা করতে পারেন
যোগ লেখক vgoff, উৎস

যদি আপনি কার্নেল সংস্করণ ইত্যাদি খুঁজছেন না, তবে লিনাক্স ডিস্ট্রিবিউশনের জন্য আপনি নিম্নলিখিতগুলি ব্যবহার করতে চাইতে পারেন

python2.6 + এ

>>> import platform
>>> print platform.linux_distribution()
('CentOS Linux', '6.0', 'Final')
>>> print platform.linux_distribution()[0]
CentOS Linux
>>> print platform.linux_distribution()[1]
6.0

python2.4 এ

>>> import platform
>>> print platform.dist()
('centos', '6.0', 'Final')
>>> print platform.dist()[0]
centos
>>> print platform.dist()[1]
6.0

স্পষ্টতই, এটি শুধুমাত্র কাজ করবে যদি আপনি এটি লিনাক্সে চালাচ্ছেন। আপনি প্ল্যাটফর্ম জুড়ে আরো জেনেরিক স্ক্রিপ্ট করতে চান, আপনি অন্যান্য উত্তর দেওয়া কোড নমুনা দিয়ে এটি মিশ্রিত করতে পারেন।

0
যোগ

পিএইথন ব্যবহার করে অপারেটিং সিস্টেমের নমুনা কোড:

from sys import platform as _platform

if _platform == "linux" or _platform == "linux2":
   # linux
elif _platform == "darwin":
   # MAC OS X
elif _platform == "win32":
   # Windows
elif _platform == "win64":
    # Windows 64-bit
0
যোগ
কোনও Python মডিউল থেকে এই নমুনা কোড? এই শুধুমাত্র উত্তর যে আসলে প্রশ্নের উত্তর।
যোগ লেখক kon psych, উৎস
এখানে শুধুমাত্র মার্জিত উত্তর।
যোগ লেখক Michael IV, উৎস
ভুল ফলাফলের জন্য, `_platform.startswith ('linux')
যোগ লেখক Klaatu von Schlacker, উৎস
এখানে দেখানো মূল উত্তরটি stackoverflow.com/a/8220141/3286832
যোগ লেখক Yannis, উৎস

শুধু সম্পূর্ণতা জন্য, "ওএস" পরিবেশের পরিবর্তনশীল সর্বত্র প্রদর্শিত হবে বলে মনে হয়। উইন্ডোজ এক্সপি / 7/8/10 এ সেট করা হয় "উইন্ডোজ_এনটিএন" লিনাক্স SuSE SP2 এ এটি "x86-64 linux sles11 [2]" নির্ধারণ করা হয়। আমি ওএস-এক্স বা বিএসডি মেশিন অ্যাক্সেস না আছে, পাশাপাশি সেখানে চেক করতে আকর্ষণীয় হবে।

import os

os_name = os.getenv("OS")
if os_name == "Windows_NT":
    # Windows
elif "linux" in os_name:
    # Linux
elif ...
0
যোগ

ইম্পোর্ট ওস </কোড> এবং os.name কীওয়ার্ড ব্যবহার করুন

0
যোগ