ਸਟੈਂਡਰਡ ਲਾਇਬ੍ਰੇਰੀ ਪਲੇਟਫਾਰਮ ਮੋਡੀuleਲ ਦੀ ਵਰਤੋਂ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਸ ਤੇ ਪਾਈਥਨ ਚੱਲ ਰਿਹਾ ਹੈ ਅਤੇ ਇਸਦੇ ਸੰਸਕਰਣ (ਰੀਲੀਜ਼). ਇਸ ਮੋਡੀuleਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਹਰੇਕ OS ਅਤੇ ਸੰਸਕਰਣ ਲਈ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਬਦਲਣਾ ਸੰਭਵ ਹੈ.
ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਇੱਥੇ ਦਿੱਤੀ ਗਈ ਹੈ.
- OS ਦਾ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰੋ:
platform.system()
- ਸੰਸਕਰਣ (ਰੀਲੀਜ਼) ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ:
platform.release()
,version()
- ਇੱਕ ਵਾਰ ਵਿੱਚ OS ਅਤੇ ਸੰਸਕਰਣ ਪ੍ਰਾਪਤ ਕਰੋ:
platform.platform()
- ਹਰੇਕ OS ਲਈ ਨਤੀਜਿਆਂ ਦੀਆਂ ਉਦਾਹਰਣਾਂ
- macOS
- Windows
- Ubuntu
- ਓਐਸ ਦੇ ਅਧਾਰ ਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਨੂੰ ਬਦਲਣ ਲਈ ਨਮੂਨਾ ਕੋਡ
ਜੇ ਤੁਸੀਂ ਪਾਈਥਨ ਦੇ ਸੰਸਕਰਣ ਨੂੰ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਤੁਸੀਂ ਚਲਾ ਰਹੇ ਹੋ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਲੇਖ ਵੇਖੋ.
ਪਹਿਲੇ ਅੱਧ ਵਿੱਚ ਸਾਰੇ ਨਮੂਨੇ ਦਾ ਕੋਡ ਮੈਕੋਸ ਮੋਜਾਵੇ 10.14.2 ਤੇ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ; ਵਿੰਡੋਜ਼ ਅਤੇ ਉਬੰਟੂ ਦੇ ਉਦਾਹਰਣ ਦੇ ਨਤੀਜੇ ਦੂਜੇ ਅੱਧ ਵਿੱਚ ਦਿਖਾਏ ਗਏ ਹਨ; ਓਐਸ-ਵਿਸ਼ੇਸ਼ ਫੰਕਸ਼ਨਾਂ ਬਾਰੇ ਦੂਜੇ ਅੱਧ ਵਿੱਚ ਵੀ ਚਰਚਾ ਕੀਤੀ ਗਈ ਹੈ.
OS ਦਾ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰੋ: 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 ਦਾ ਨਾਮ ਅਤੇ ਸੰਸਕਰਣ (ਰੀਲੀਜ਼) ਜਾਣਕਾਰੀ ਪਲੇਟਫਾਰਮ.ਪਲੇਟਫਾਰਮ () ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਕੱਠੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ. ਵਾਪਸੀ ਮੁੱਲ ਇੱਕ ਸਤਰ ਹੈ.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
ਜੇ ਤਰਕ ਦਾ ਮੁੱਲ ਸਹੀ ਹੈ, ਤਾਂ ਸਿਰਫ ਘੱਟੋ ਘੱਟ ਜਾਣਕਾਰੀ ਵਾਪਸ ਕੀਤੀ ਜਾਏਗੀ.
print(platform.platform(terse=True))
# Darwin-18.2.0
ਉਪਯੁਕਤ ਦਲੀਲ ਵੀ ਹੈ.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
ਨਤੀਜਾ ਉਦਾਹਰਣ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਉਹੀ ਹੈ, ਪਰ ਕੁਝ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਓਐਸ ਦੇ ਨਾਮ ਵਜੋਂ ਇੱਕ ਉਪਨਾਮ ਵਾਪਸ ਕਰਨਗੇ.
ਜੇ ਉਪਨਾਮ ਸੱਚ ਹੈ, ਤਾਂ ਇਹ ਸਿਸਟਮ ਦੇ ਆਮ ਨਾਮ ਦੀ ਬਜਾਏ ਉਪਨਾਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਨਤੀਜਾ ਦਿੰਦਾ ਹੈ. ਉਦਾਹਰਣ ਦੇ ਲਈ, ਸਨੋਸ ਸੋਲਾਰਿਸ ਬਣ ਜਾਂਦਾ ਹੈ.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
ਹਰੇਕ OS ਲਈ ਨਤੀਜਿਆਂ ਦੀਆਂ ਉਦਾਹਰਣਾਂ
ਮੈਕੋਸ, ਵਿੰਡੋਜ਼ ਅਤੇ ਉਬੰਟੂ ਦੇ ਨਤੀਜਿਆਂ ਦੀਆਂ ਉਦਾਹਰਣਾਂ ਦਿਖਾਈਆਂ ਜਾਣਗੀਆਂ, ਨਾਲ ਹੀ ਓਐਸ-ਵਿਸ਼ੇਸ਼ ਕਾਰਜ ਵੀ.
macOS
ਮੈਕੋਸ ਮੋਜੇਵ 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 () ਕਿਹਾ ਜਾਂਦਾ ਹੈ.
ਵਾਪਸੀ ਦਾ ਮੁੱਲ ਇੱਕ ਟੂਪਲ (ਰੀਲਿਜ਼, ਵਰਜ਼ਨ, ਸੀਐਸਡੀ, ਟਾਈਪ) ਦੇ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.
ਸੀਐਸਡੀ ਸਰਵਿਸ ਪੈਕ ਦੀ ਸਥਿਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ.
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
ਇੱਥੇ ਇੱਕ ਯੂਨਿਕਸ-ਵਿਸ਼ੇਸ਼ ਫੰਕਸ਼ਨ ਪਲੇਟਫਾਰਮ ਹੈ. Linux_distribution ().
ਵਾਪਸੀ ਦਾ ਮੁੱਲ ਇੱਕ ਟੂਪਲ (ਡਿਸਟਨੈਮ, ਸੰਸਕਰਣ, ਆਈਡੀ) ਦੇ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
ਨੋਟ ਕਰੋ ਕਿ platform.linux_distribution () ਨੂੰ ਪਾਇਥਨ 3.8 ਵਿੱਚ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ. ਇਸਦੀ ਬਜਾਏ ਥਰਡ ਪਾਰਟੀ ਲਾਇਬ੍ਰੇਰੀ ਡਿਸਟ੍ਰੋ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸਨੂੰ ਪਾਈਪ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਵੱਖਰੇ ਤੌਰ ਤੇ ਸਥਾਪਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ.
ਓਐਸ ਦੇ ਅਧਾਰ ਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਨੂੰ ਬਦਲਣ ਲਈ ਨਮੂਨਾ ਕੋਡ
ਜੇ ਤੁਸੀਂ ਓਐਸ ਦੇ ਅਧਾਰ ਤੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਫੰਕਸ਼ਨ ਜਾਂ ਵਿਧੀ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਇੱਕ ਵਿਧੀ ਜਿਵੇਂ ਕਿ 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 ਗੁਣ ਮੌਜੂਦ ਹੁੰਦਾ ਹੈ ਅਤੇ ਹੋਰ ਕੇਸ.