platform मॉड्यूल अंतर्निहित प्लेटफॉर्म के हार्डवेयर, ऑपरेटिंग सिस्टम, और इंटरप्रेटर संस्करण की जानकारी प्राप्त करने के लिए फंक्शन्स प्रदान करता है।
मुख्य फंक्शन्स
आर्किटेक्चर जानकारी
import platform
# आर्किटेक्चर (बिट्स, लिंकेज)
print(platform.architecture()) # ('64bit', 'ELF')
# मशीन टाइप
print(platform.machine()) # 'x86_64', 'arm64', 'i386'
# प्रोसेसर नाम
print(platform.processor()) # 'x86_64', 'Intel64 Family 6 Model 158'
सिस्टम जानकारी
# सिस्टम/OS नाम print(platform.system()) # 'Linux', 'Windows', 'Darwin', 'Java' # नेटवर्क नोड नाम print(platform.node()) # 'my-computer', 'localhost' # प्लेटफॉर्म पहचान स्ट्रिंग print(platform.platform()) # 'Linux-5.15.0-76-generic-x86_64-with-glibc2.35' # uname - विस्तृत नाम्ड टपल print(platform.uname()) # uname_result(system='Linux', node='my-pc', release='5.15.0-76-generic', # version='#83-Ubuntu SMP...', machine='x86_64', processor='x86_64')
पायथन इंटरप्रेटर जानकारी
# पायथन संस्करण
print(platform.python_version()) # '3.11.4'
print(platform.python_version_tuple()) # ('3', '11', '4')
# बिल्ड जानकारी
print(platform.python_build()) # ('main', 'Jun 7 2023 10:00:00')
# कंपाइलर
print(platform.python_compiler()) # 'GCC 11.4.0'
# इम्प्लीमेंटेशन
print(platform.python_implementation()) # 'CPython', 'PyPy', 'Jython', 'IronPython'
# ब्रांच/रिवीजन (यदि उपलब्ध)
print(platform.python_branch())
print(platform.python_revision())
लाइब्रेरी जानकारी
# स्टैंडर्ड लाइब्रेरी पथ
print(platform.libc_ver()) # ('glibc', '2.35')
# पायथन प्रीफिक्स
import sys
print(sys.prefix)
print(sys.base_prefix)
व्यावहारिक उदाहरण: क्रॉस-प्लेटफॉर्म पाथ हैंडलिंग
import platform
import os
def get_app_data_dir(app_name):
"""क्रॉस-प्लेटफॉर्म एप्लिकेशन डेटा डायरेक्टरी"""
system = platform.system()
if system == 'Windows':
base = os.environ.get('APPDATA', os.path.expanduser('~'))
elif system == 'Darwin': # macOS
base = os.path.expanduser('~/Library/Application Support')
else: # Linux/Unix
base = os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share'))
app_dir = os.path.join(base, app_name)
os.makedirs(app_dir, exist_ok=True)
return app_dir
print(get_app_data_dir('MyApp'))
उदाहरण: सिस्टम रिक्वायरमेंट्स चेक
import platform
import sys
def check_requirements():
"""न्यूनतम सिस्टम आवश्यकताएं जांचें"""
issues = []
# पायथन संस्करण
if sys.version_info < (3, 8):
issues.append(f"पायथन 3.8+ आवश्यक, वर्तमान: {platform.python_version()}")
# 64-बिट आर्किटेक्चर
if '64bit' not in platform.architecture()[0]:
issues.append("64-बिट आर्किटेक्चर आवश्यक")
# OS समर्थन
supported = ['Linux', 'Windows', 'Darwin']
if platform.system() not in supported:
issues.append(f"असमर्थित OS: {platform.system()}")
return issues
issues = check_requirements()
if issues:
print("समस्याएं:")
for issue in issues:
print(f" - {issue}")
else:
print("सभी आवश्यकताएं पूरी होती हैं।")
उदाहरण: प्लेटफॉर्म-विशिष्ट कमांड्स
import platform
import subprocess
def open_file_crossplatform(filepath):
"""फाइल को डिफ़ॉल्ट एप्लिकेशन में खोलें"""
system = platform.system()
if system == 'Windows':
os.startfile(filepath)
elif system == 'Darwin':
subprocess.run(['open', filepath])
else: # Linux
subprocess.run(['xdg-open', filepath])
# या सरल तरीका (पायथन 3.4+)
import webbrowser
webbrowser.open(filepath)
सारांश तालिका
| फंक्शन | रिटर्न | उपयोग |
|---|---|---|
system() | str | OS पहचान |
machine() | str | CPU आर्किटेक्चर |
platform() | str | संपूर्ण पहचान |
uname() | namedtuple | विस्तृत जानकारी |
python_version() | str | पायथन संस्करण |
python_implementation() | str | इम्प्लीमेंटेशन |