পরিবেশে চলমান পাইথনের ওএস এবং সংস্করণ সম্পর্কে তথ্য পান।

ব্যবসায়

স্ট্যান্ডার্ড লাইব্রেরি প্ল্যাটফর্ম মডিউলটি যে অপারেটিং সিস্টেমের উপর পাইথন চলছে এবং তার সংস্করণ (রিলিজ) সম্পর্কে তথ্য পেতে ব্যবহৃত হয়। এই মডিউল ব্যবহার করে, প্রতিটি OS এবং সংস্করণের জন্য প্রক্রিয়াটি পরিবর্তন করা সম্ভব।

নিম্নলিখিত তথ্য এখানে প্রদান করা হয়।

  • ওএস নাম পান:platform.system()
  • সংস্করণ (রিলিজ) তথ্য পান:platform.release(),version()
  • একবারে OS এবং সংস্করণ পান:platform.platform()
  • প্রতিটি OS এর ফলাফলের উদাহরণ
    • macOS
    • Windows
    • Ubuntu
  • ওএসের উপর নির্ভর করে প্রক্রিয়াকরণ স্যুইচ করার জন্য নমুনা কোড

আপনি যে পাইথনের সংস্করণটি চালাচ্ছেন তা জানতে চাইলে নিচের নিবন্ধটি দেখুন।

প্রথমার্ধের সমস্ত নমুনা কোড ম্যাকওএস মোজাভে 10.14.2 এ চালানো হয়; উদাহরণস্বরূপ উইন্ডোজ এবং উবুন্টুতে ফলাফল দ্বিতীয়ার্ধে দেখানো হয়েছে; ওএস-নির্দিষ্ট ফাংশনগুলিও দ্বিতীয়ার্ধে আলোচনা করা হয়েছে।

ওএস নাম পান: platform.system ()

OS এর নাম platform.system () দ্বারা প্রাপ্ত। রিটার্ন মান হল একটি স্ট্রিং।

import platform

print(platform.system())
# Darwin

সংস্করণ (রিলিজ) তথ্য পান: platform.release (), সংস্করণ ()

ওএস সংস্করণ (রিলিজ) তথ্য নিম্নলিখিত ফাংশন সহ প্রাপ্ত হয়। উভয় ক্ষেত্রে, রিটার্ন মান একটি স্ট্রিং।

  • platform.release()
  • platform.version()

নিচের উদাহরণে দেখানো হয়েছে, platform.release () সহজ বিষয়বস্তু প্রদান করে।

print(platform.release())
# 18.2.0

print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64

একবারে OS এবং সংস্করণ পান: platform.platform ()

OS. নাম এবং সংস্করণ (রিলিজ) তথ্য একসঙ্গে platform.platform () ব্যবহার করে পাওয়া যাবে। রিটার্ন মান হল একটি স্ট্রিং।

print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit

যদি আর্গুমেন্ট terse এর মান TRUE হয়, শুধুমাত্র ন্যূনতম তথ্য ফেরত দেওয়া হবে।

print(platform.platform(terse=True))
# Darwin-18.2.0

একটি যুক্তি aliased আছে।

print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit

উদাহরণ পরিবেশে ফলাফল একই, কিন্তু কিছু অপারেটিং সিস্টেম ওএস নাম হিসাবে একটি উপনাম ফিরিয়ে দেবে।

যদি aliased সত্য হয়, এটি সিস্টেমের সাধারণ নামের পরিবর্তে একটি উপনাম ব্যবহার করে ফলাফল প্রদান করে। উদাহরণস্বরূপ, SunOS সোলারিসে পরিণত হয়।
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

প্রতিটি OS এর ফলাফলের উদাহরণ

ম্যাকওএস, উইন্ডোজ এবং উবুন্টুতে ফলাফলের উদাহরণগুলি ওএস-নির্দিষ্ট ফাংশনগুলির সাথে দেখানো হবে।

ম্যাক অপারেটিং সিস্টেম

MacOS Mojave 10.14.2 এ ফলাফলের উদাহরণ। উপরে দেখানো উদাহরণের মতই।

print(platform.system())
# Darwin

print(platform.release())
# 18.2.0

print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64

print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit

লক্ষ্য করুন যে এটি ডারউইন, ম্যাকওএস বা মোজাভ নয়।
ডারউইন সম্পর্কে আরও তথ্যের জন্য, উইকিপিডিয়া পৃষ্ঠা দেখুন। সর্বশেষ সংস্করণ নম্বর এবং ম্যাকওএস -এর নামের মধ্যে চিঠিপত্রের বিবরণও রয়েছে।

একটি madOS- নির্দিষ্ট ফাংশন আছে যার নাম platform.mac_ver ()।
রিটার্ন ভ্যালু টিপল (রিলিজ, ভার্সন ইনফো, মেশিন) হিসাবে ফেরত দেওয়া হয়।
উদাহরণ পরিবেশে, versioninfo অজানা এবং এটি একটি খালি স্ট্রিং টুপল।

print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')

উইন্ডোজ

উইন্ডোজ 10 হোমের ফলাফলের উদাহরণ।

print(platform.system())
# Windows

print(platform.release())
# 10

print(platform.version())
# 10.0.17763

print(platform.platform())
# Windows-10-10.0.17763-SP0

লক্ষ্য করুন যে platform.release () এর রিটার্ন ভ্যালু 10 একটি স্ট্রিং, পূর্ণসংখ্যা নয়।

একটি উইন্ডোজ-নির্দিষ্ট ফাংশন আছে যার নাম platform.win32_ver ()।
রিটার্ন ভ্যালু টিপল (রিলিজ, ভার্সন, সিএসডি, পাইটাইপ) হিসেবে ফেরত দেওয়া হয়।
csd সার্ভিস প্যাকের অবস্থা নির্দেশ করে।

print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')

উবুন্টু

উবুন্টু 18.04.1 LTS এর ফলাফলের উদাহরণ।

print(platform.system())
# Linux

print(platform.release())
# 4.15.0-42-generic

print(platform.version())
# #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018

print(platform.platform())
# Linux-4.15.0-44-generic-x86_64-with-Ubuntu-18.04-bionic

একটি ইউনিক্স-নির্দিষ্ট ফাংশন প্ল্যাটফর্ম আছে।
রিটার্ন ভ্যালু টিপল (ডিসটনেম, ভার্সন, আইডি) হিসেবে ফেরত দেওয়া হয়।

print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')

মনে রাখবেন যে পাইথন 3.8 এ platform.linux_distribution () সরানো হয়েছে। পরিবর্তে তৃতীয় পক্ষের লাইব্রেরি ডিস্ট্রো ব্যবহার করার পরামর্শ দেওয়া হয়, যা পিপ ব্যবহার করে আলাদাভাবে ইনস্টল করা প্রয়োজন।

ওএসের উপর নির্ভর করে প্রক্রিয়াকরণ স্যুইচ করার জন্য নমুনা কোড

আপনি যদি OS এর উপর নির্ভর করে ফাংশন বা পদ্ধতি ব্যবহার করতে চান, তাহলে আপনি মান নির্ধারণের জন্য platform.system () এর মতো একটি পদ্ধতি ব্যবহার করতে পারেন।

নিচের একটি ফাইল তৈরির তারিখ পাওয়ার একটি উদাহরণ।

def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            # We're probably on Linux. No easy way to get creation dates here,
            # so we'll settle for when its content was last modified.
            return stat.st_mtime

এই উদাহরণে, platform.system () এর মান প্রথমে এটি উইন্ডোজ বা অন্য কি না তা নির্ধারণ করতে ব্যবহৃত হয়।
তারপর, এটি আরও ব্যতিক্রম হ্যান্ডলিং ব্যবহার করে যেখানে প্রক্রিয়াটি st_birthtime বৈশিষ্ট্য এবং অন্যান্য ক্ষেত্রে বিদ্যমান।