ਪਾਈਥਨ (os.environ) ਵਿੱਚ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਜੋੜਨਾ, ਮੁੜ ਲਿਖਣਾ ਅਤੇ ਮਿਟਾਉਣਾ

ਕਾਰੋਬਾਰ

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ os.environ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪਾਈਥਨ ਪ੍ਰੋਗਰਾਮਾਂ ਵਿੱਚ ਪ੍ਰਾਪਤ, ਚੈੱਕ, ਸੈਟ (ਸ਼ਾਮਲ ਜਾਂ ਓਵਰਰਾਈਟ) ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਮਿਟਾਏ ਜਾ ਸਕਦੇ ਹਨ. ਨੋਟ ਕਰੋ ਕਿ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਨੂੰ ਸੈਟ ਕਰਨ ਜਾਂ ਮਿਟਾਉਣ ਦੁਆਰਾ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਸਿਰਫ ਪਾਈਥਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਅੰਦਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀਆਂ ਹਨ. ਇਸਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਹੈ ਕਿ ਸਿਸਟਮ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੁਬਾਰਾ ਲਿਖੇ ਜਾਣਗੇ.

ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਇੱਥੇ ਦਿੱਤੀ ਗਈ ਹੈ.

  • os.environ
  • ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਪ੍ਰਾਪਤ ਕਰੋ.
  • ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਸੈਟ ਕਰੋ (ਐਡ/ਓਵਰਰਾਈਟ) ਕਰੋ
  • ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਹਟਾਓ
  • ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਨੂੰ ਬਦਲਣ ਦਾ ਪ੍ਰਭਾਵ
  • ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੁਆਰਾ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਬਦਲਣਾ

ਓਐਸ ਮੋਡੀuleਲ ਆਯਾਤ ਅਤੇ ਵਰਤੋਂ. ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ ਹੈ, ਇਸ ਲਈ ਕੋਈ ਵਾਧੂ ਸਥਾਪਨਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ. ਸਬਪ੍ਰੋਸੈਸ ਮੋਡੀuleਲ ਨੂੰ ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ.

import os
import subprocess

ਵਾਤਾਵਰਣ

Os.environ ਦੀ ਕਿਸਮ os._Environ ਹੈ.

print(type(os.environ))
# <class 'os._Environ'>

os. ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ ਕੁੰਜੀ ਹੈ, ਅਤੇ ਇਸਦਾ ਮੁੱਲ ਮੁੱਲ ਹੈ.

Os.environ ਦੀ ਸਮਗਰੀ ਲੋਡ ਕੀਤੀ ਜਾਏਗੀ ਜਦੋਂ ਓਐਸ ਮੋਡੀuleਲ ਆਯਾਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. Os.environ ਦੀ ਸਮਗਰੀ ਨੂੰ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾਏਗਾ ਭਾਵੇਂ ਪ੍ਰੋਗਰਾਮ ਦੇ ਚੱਲਦੇ ਸਮੇਂ ਸਿਸਟਮ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਦੂਜੇ ਤਰੀਕਿਆਂ ਨਾਲ ਬਦਲਿਆ ਜਾਵੇ.

ਸੂਚੀ ਪ੍ਰਿੰਟ () ਦੇ ਨਾਲ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੀ ਗਈ ਹੈ.

# print(os.environ)

ਸ਼ਬਦਕੋਸ਼ ਦੀ ਤਰ੍ਹਾਂ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਜਾਂ ਕੁੰਜੀਆਂ ਅਤੇ ਮੁੱਲਾਂ ਦੀ ਹੋਂਦ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ.

  • keys()
  • values()

ਕੁੰਜੀਆਂ ਅਤੇ ਮੁੱਲਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਅਸਲ ਵਿੱਚ ਸ਼ਬਦਕੋਸ਼ਾਂ ਦੇ ਸਮਾਨ ਹੈ. ਉਦਾਹਰਣਾਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ.

ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਪ੍ਰਾਪਤ ਕਰੋ.

os.environ[Environment variable name]
ਇਹ ਤੁਹਾਨੂੰ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦਾ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਵੇਗਾ, ਪਰ ਜੇ ਤੁਸੀਂ ਇੱਕ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹੋ ਜੋ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਗਲਤੀ (ਕੀਰਰਰ) ਮਿਲੇਗੀ.

print(os.environ['LANG'])
# ja_JP.UTF-8

# print(os.environ['NEW_KEY'])
# KeyError: 'NEW_KEY'

Os.environ ਦੀ get () ਵਿਧੀ ਮੂਲ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜੇ ਇਹ ਮੌਜੂਦ ਨਹੀਂ ਹੈ. ਇਹ ਸ਼ਬਦਕੋਸ਼ ਦੇ ਸਮਾਨ ਵੀ ਹੈ.

print(os.environ.get('LANG'))
# ja_JP.UTF-8

print(os.environ.get('NEW_KEY'))
# None

print(os.environ.get('NEW_KEY', 'default'))
# default

ਫੰਕਸ਼ਨ os.getenv () ਵੀ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ. ਸ਼ਬਦਕੋਸ਼ ਦੀ get () ਵਿਧੀ ਦੀ ਤਰ੍ਹਾਂ, ਇਹ ਕੁੰਜੀ ਮੌਜੂਦ ਨਾ ਹੋਣ ‘ਤੇ ਮੂਲ ਮੁੱਲ ਵਾਪਸ ਕਰਦਾ ਹੈ. ਇਹ ਫੰਕਸ਼ਨ ਲਾਭਦਾਇਕ ਹੈ ਜੇ ਤੁਸੀਂ ਸਿਰਫ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨਾ ਅਤੇ ਜਾਂਚਣਾ ਚਾਹੁੰਦੇ ਹੋ.

print(os.getenv('LANG'))
# ja_JP.UTF-8

print(os.getenv('NEW_KEY'))
# None

print(os.getenv('NEW_KEY', 'default'))
# default

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਸੈਟ ਕਰੋ (ਐਡ/ਓਵਰਰਾਈਟ) ਕਰੋ

os.environ[Environment variable name]
ਇਸ ਨੂੰ ਇੱਕ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਕੇ, ਤੁਸੀਂ ਇੱਕ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸੈਟ ਕਰ ਸਕਦੇ ਹੋ.

ਜਦੋਂ ਇੱਕ ਨਵਾਂ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਵਾਂ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਇੱਕ ਮੌਜੂਦਾ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦਾ ਮੁੱਲ ਓਵਰਰਾਈਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

os.environ['NEW_KEY'] = 'test'

print(os.environ['NEW_KEY'])
# test

os.environ['NEW_KEY'] = 'test2'

print(os.environ['NEW_KEY'])
# test2

ਨੋਟ ਕਰੋ ਕਿ ਸਤਰ ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਕੁਝ ਨਿਰਧਾਰਤ ਕਰਨ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਇੱਕ ਗਲਤੀ (ਟਾਈਪ ਈਰਰ) ਹੋਵੇਗੀ. ਜੇ ਤੁਸੀਂ ਇੱਕ ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਸਨੂੰ ਇੱਕ ਸਤਰ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਧਾਰਤ ਕਰੋ.

# os.environ['NEW_KEY'] = 100
# TypeError: str expected, not int

os.environ['NEW_KEY'] = '100'

ਫੰਕਸ਼ਨ os.putenv () ਵੀ ਦਿੱਤਾ ਗਿਆ ਹੈ. ਹਾਲਾਂਕਿ, os.environ ਦਾ ਮੁੱਲ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਜਦੋਂ ਇਸਨੂੰ os.putenv () ਦੁਆਰਾ ਸੈਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਇਸ ਕਾਰਨ ਕਰਕੇ, os.environ ਦੀ ਕੁੰਜੀ (ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ) ਨਿਰਧਾਰਤ ਕਰਨਾ ਅਤੇ ਉਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨਾ ਬਿਹਤਰ ਹੈ.

ਜੇ putenv () ਸਮਰਥਿਤ ਹੈ, ਤਾਂ os.environ ਵਿੱਚ ਕਿਸੇ ਆਈਟਮ ਨੂੰ ਅਸਾਈਨਮੈਂਟ ਆਪਣੇ ਆਪ putenv () ਨੂੰ ਇੱਕ ਅਨੁਸਾਰੀ ਕਾਲ ਵਿੱਚ ਬਦਲ ਦਿੱਤੀ ਜਾਏਗੀ. ਅਭਿਆਸ ਵਿੱਚ, os.environ ਵਿੱਚ ਕਿਸੇ ਆਈਟਮ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਤਰਜੀਹੀ ਕਾਰਵਾਈ ਹੈ, ਕਿਉਂਕਿ putenv () ਨੂੰ ਸਿੱਧੀ ਕਾਲ os.environ ਨੂੰ ਅਪਡੇਟ ਨਹੀਂ ਕਰੇਗੀ.
os.putenv() — Miscellaneous operating system interfaces — Python 3.10.0 Documentation

ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਨੂੰ ਜੋੜ ਕੇ ਜਾਂ ਓਵਰਰਾਈਟ ਕਰਕੇ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਸਿਰਫ ਪਾਈਥਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਅੰਦਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦੀਆਂ ਹਨ. ਇਸਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਹੈ ਕਿ ਸਿਸਟਮ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੁਬਾਰਾ ਲਿਖੇ ਜਾਣਗੇ.

ਨੋਟ ਕਰੋ ਕਿ ਮੁੱਲ ਨੂੰ ਬਦਲਣ ਨਾਲ OS ਦੇ ਅਧਾਰ ਤੇ ਮੈਮੋਰੀ ਲੀਕ ਹੋ ਸਕਦੀ ਹੈ.

ਨੋਟ: ਫਰੀ ਬੀਐਸਡੀ ਅਤੇ ਮੈਕ ਓਐਸ ਐਕਸ ਸਮੇਤ ਕੁਝ ਪਲੇਟਫਾਰਮਾਂ ਤੇ, ਵਾਤਾਵਰਣ ਦੇ ਮੁੱਲ ਨੂੰ ਬਦਲਣ ਨਾਲ ਮੈਮੋਰੀ ਲੀਕ ਹੋ ਸਕਦੀ ਹੈ.
os.putenv() — Miscellaneous operating system interfaces — Python 3.10.0 Documentation

ਇਹ OS ਦੇ ਆਪਣੇ ਹੀ putenv () ਨਿਰਧਾਰਨ ਦੇ ਕਾਰਨ ਹੈ.

Successive calls to setenv() or putenv() assigning a differently sized value to the same name will result in a memory leak. The FreeBSD seman-tics semantics for these functions (namely, that the contents of value are copied and that old values remain accessible indefinitely) make this bug unavoidable.
Mac OS X Manual Page For putenv(3)

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਹਟਾਓ

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਮਿਟਾਉਣ ਲਈ, os.environ ਦੀ ਪੌਪ () ਵਿਧੀ ਜਾਂ ਡੈਲ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰੋ. ਸ਼ਬਦਕੋਸ਼ ਦੇ ਸਮਾਨ.

ਹੇਠਾਂ ਪੌਪ () ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਹੈ.

pop () ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਦਾ ਮੁੱਲ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੋ ਮਿਟਾਇਆ ਗਿਆ ਸੀ. ਮੂਲ ਰੂਪ ਵਿੱਚ, ਇੱਕ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਿਰਧਾਰਤ ਕਰਨਾ ਜੋ ਮੌਜੂਦ ਨਹੀਂ ਹੈ ਇੱਕ ਗਲਤੀ (ਕੀਰਰਰ) ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇਗਾ, ਪਰ ਦੂਜੀ ਦਲੀਲ ਨਿਰਧਾਰਤ ਕਰਨ ਨਾਲ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦਾ ਮੁੱਲ ਵਾਪਸ ਆ ਜਾਵੇਗਾ ਜੇ ਇਹ ਮੌਜੂਦ ਨਹੀਂ ਹੈ.

print(os.environ.pop('NEW_KEY'))
# 100

# print(os.environ.pop('NEW_KEY'))
# KeyError: 'NEW_KEY'

print(os.environ.pop('NEW_KEY', None))
# None

ਹੇਠਾਂ ਡੇਲ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਹੈ.

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੁਬਾਰਾ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ. ਜੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤਾਂ ਇੱਕ ਗਲਤੀ (ਕੁੰਜੀ ਗਲਤੀ).

os.environ['NEW_KEY'] = '100'

print(os.getenv('NEW_KEY'))
# 100

del os.environ['NEW_KEY']

print(os.getenv('NEW_KEY'))
# None

# del os.environ['NEW_KEY']
# KeyError: 'NEW_KEY'

ਫੰਕਸ਼ਨ os.unsetenv () ਵੀ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ. ਹਾਲਾਂਕਿ, ਜਿਵੇਂ ਕਿ os.putenv () ਦੇ ਨਾਲ, os.environ ਦਾ ਮੁੱਲ ਅਪਡੇਟ ਨਹੀਂ ਹੁੰਦਾ ਜਦੋਂ ਇਸਨੂੰ os.unsetenv () ਦੁਆਰਾ ਮਿਟਾਇਆ ਜਾਂਦਾ ਹੈ. ਇਸ ਲਈ, os.environ ਦੀ ਕੁੰਜੀ (ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨਾਮ) ਨਿਰਧਾਰਤ ਕਰਨਾ ਅਤੇ ਉਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਇਸਨੂੰ ਮਿਟਾਉਣਾ ਬਿਹਤਰ ਹੈ.

ਜੇ unsetenv () ਸਮਰਥਿਤ ਹੈ, ਤਾਂ os.environ ਵਿੱਚ ਕਿਸੇ ਆਈਟਮ ਨੂੰ ਮਿਟਾਉਣਾ ਆਪਣੇ ਆਪ ਅਨੁਸਾਰੀ ਕਾਲ ਨੂੰ unsetenv () ਵਿੱਚ ਅਨੁਵਾਦ ਕਰ ਦੇਵੇਗਾ. ਅਭਿਆਸ ਵਿੱਚ, os.environ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਤਰਜੀਹੀ ਕਾਰਵਾਈ ਹੈ, ਕਿਉਂਕਿ unsetenv () ਨੂੰ ਸਿੱਧੀ ਕਾਲਾਂ os.environ ਨੂੰ ਅਪਡੇਟ ਨਹੀਂ ਕਰਨਗੀਆਂ.
os.unsetenv() — Miscellaneous operating system interfaces — Python 3.10.0 Documentation

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਨੂੰ ਮਿਟਾਉਣਾ ਸਿਰਫ ਉਸ ਪਾਈਥਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਅੰਦਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੁੰਦਾ ਹੈ. ਇਹ ਸਿਸਟਮ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਸ ਨੂੰ ਨਹੀਂ ਹਟਾਉਂਦਾ.

ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਨੂੰ ਬਦਲਣ ਦਾ ਪ੍ਰਭਾਵ

ਜਿਵੇਂ ਕਿ ਮੈਂ ਵਾਰ ਵਾਰ ਲਿਖਿਆ ਹੈ, os.environ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਬਦਲਣਾ (ਸੈਟ ਕਰਨਾ ਜਾਂ ਮਿਟਾਉਣਾ) ਸਿਸਟਮ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ, ਪਰ ਇਹ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਲਾਂਚ ਕੀਤੀਆਂ ਉਪ-ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰਦਾ ਹੈ.

ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਵਿੰਡੋਜ਼ ਤੇ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ ਕਿਉਂਕਿ ਇੱਥੇ ਕੋਈ ਲੈਂਗ ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਨਹੀਂ ਹੈ ਅਤੇ ਮਿਤੀ ਕਮਾਂਡ ਦੀ ਸਮਗਰੀ ਵੱਖਰੀ ਹੈ.

ਸਬਪ੍ਰੋਸੈਸ ਮੋਡੀuleਲ ਵਿੱਚ ਮਿਤੀ ਕਮਾਂਡ ਨੂੰ ਕਾਲ ਕਰਨਾ.

LANG ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ ਦੇ ਅਧਾਰ ਤੇ ਮਿਤੀ ਕਮਾਂਡ ਦਾ ਆਉਟਪੁੱਟ ਨਤੀਜਾ ਬਦਲਦਾ ਹੈ.

print(os.getenv('LANG'))
# ja_JP.UTF-8

print(subprocess.check_output('date', encoding='utf-8'))
# 2018年 7月12日 木曜日 20時54分13秒 JST
# 

os.environ['LANG'] = 'en_US'

print(subprocess.check_output('date', encoding='utf-8'))
# Thu Jul 12 20:54:13 JST 2018
# 

ਵਿਆਖਿਆ ਦੇ ਲਈ, ਅਸੀਂ os.environ ਵਿੱਚ LANG ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਬਦਲ ਦਿੱਤਾ ਹੈ, ਪਰ ਪਾਈਥਨ ਲੋਕੇਲ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਇੱਕ ਲੋਕੇਲ ਮੋਡੀuleਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.

ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੁਆਰਾ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਬਦਲਣਾ

ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਦੇ ਮੁੱਲ ਦੇ ਅਨੁਸਾਰ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਬਦਲਣਾ ਵੀ ਸੰਭਵ ਹੈ.

ਭਾਸ਼ਾ ਸੈਟਿੰਗਾਂ ਵਿੱਚ LANG ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੇ ਅਨੁਸਾਰ ਆਉਟਪੁੱਟ ਨੂੰ ਬਦਲਣ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਇਹ ਹੈ. ਇੱਥੇ ਅਸੀਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ startswith () ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ ਕਿ ਕੀ ਸਤਰ ਨਿਰਧਾਰਤ ਸਤਰ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, ਪਰ ਜੇ ਤੁਸੀਂ ਸਹੀ ਮੇਲ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਤੁਲਨਾ ਕਰਨ ਲਈ “==” ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ.

print(os.getenv('LANG'))
# en_US

if os.getenv('LANG').startswith('ja'):
    print('こんにちは')
else:
    print('Hello')
# Hello

os.environ['LANG'] = 'ja_JP'

if os.getenv('LANG').startswith('ja'):
    print('こんにちは')
else:
    print('Hello')
# こんにちは

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜੇ ਵਾਤਾਵਰਣ ਪਰਿਵਰਤਨ ਵਿਕਾਸ ਦੇ ਵਾਤਾਵਰਣ ਅਤੇ ਉਤਪਾਦਨ ਦੇ ਵਾਤਾਵਰਣ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਨਿਰਧਾਰਤ ਕੀਤੇ ਗਏ ਹਨ, ਉਦਾਹਰਣ ਵਜੋਂ, ਤੁਸੀਂ ਇਨ੍ਹਾਂ ਪਰਿਵਰਤਨਾਂ ਦੇ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ.