10. ਮਿਆਰੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਸੰਖੇਪ ਜਾਣ-ਪਛਾਣ¶
10.1. ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਇੰਟਰਫੇਸ¶
os ਮੌਡਿਊਲ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨਾਲ ਪਰਸਪਰ ਕਿਰਿਆ ਕਰਨ ਲਈ ਦਰਜਨਾਂ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
>>> import os
>>> os.getcwd() # ਮੌਜੂਦਾ ਕਾਰਜ ਡਾਇਰੈਕਟਰੀ ਵਾਪਸ ਕਰੋ
'C:\\Python315'
>>> os.chdir('/server/accesslogs') # ਮੌਜੂਦਾ ਕਾਰਜ ਡਾਇਰੈਕਟਰੀ ਬਦਲੋ
>>> os.system('mkdir today') # ਸਿਸਟਮ ਸ਼ੈੱਲ ਵਿੱਚ mkdir ਕਮਾਂਡ ਚਲਾਓ
0
from os import * ਦੀ ਬਜਾਏ import os ਸ਼ੈਲੀ ਵਰਤਣਾ ਯਕੀਨੀ ਬਣਾਓ। ਇਸ ਨਾਲ os.open() ਬਿਲਟ-ਇਨ open() ਫੰਕਸ਼ਨ ਨੂੰ ਓਹਲੇ ਨਹੀਂ ਕਰੇਗਾ, ਜੋ ਕਾਫ਼ੀ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ।
ਬਿਲਟ-ਇਨ dir() ਅਤੇ help() ਫੰਕਸ਼ਨ os ਵਰਗੇ ਵੱਡੇ ਮੌਡਿਊਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਇੰਟਰਐਕਟਿਵ ਸਹਾਇਕ ਵਜੋਂ ਲਾਭਦਾਇਕ ਹਨ:
>>> import os
>>> dir(os)
<returns a list of all module functions>
>>> help(os)
<returns an extensive manual page created from the module's docstrings>
ਰੋਜ਼ਾਨਾ ਫਾਈਲ ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਪ੍ਰਬੰਧਨ ਦੇ ਕੰਮਾਂ ਲਈ, shutil ਮੋਡੀਊਲ ਇੱਕ ਉੱਚ-ਪੱਧਰੀ ਇੰਟਰਫੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜੋ ਵਰਤਣ ਵਿੱਚ ਵਧੇਰੇ ਆਸਾਨ ਹੈ:
>>> import shutil
>>> shutil.copyfile('data.db', 'archive.db')
'archive.db'
>>> shutil.move('/build/executables', 'installdir')
'installdir'
10.2. ਫਾਈਲ ਵਾਈਲਡਕਾਰਡ¶
glob ਮੌਡਿਊਲ ਡਾਇਰੈਕਟਰੀ ਵਾਈਲਡਕਾਰਡ ਖੋਜਾਂ ਤੋਂ ਫਾਈਲਾਂ ਦੀ ਸੂਚੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']
10.3. ਕਮਾਂਡ-ਲਾਈਨ ਆਰਗੂਮੈਂਟ¶
ਆਮ ਉਪਯੋਗਤਾ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਅਕਸਰ ਕਮਾਂਡ-ਲਾਈਨ ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇਹ ਆਰਗੂਮੈਂਟ sys ਮੋਡੀਊਲ ਦੇ argv ਐਟ੍ਰਿਬਿਊਟ ਵਿੱਚ ਇੱਕ ਲਿਸਟ ਵਜੋਂ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੀ demo.py ਫਾਈਲ ਲੈਂਦੇ ਹਾਂ:
# File demo.py
import sys
print(sys.argv)
ਕਮਾਂਡ ਲਾਈਨ ਉੱਤੇ python demo.py one two three ਚਲਾਉਣ ਤੋਂ ਪ੍ਰਾਪਤ ਆਉਟਪੁੱਟ ਹੇਠਾਂ ਦਿੱਤੀ ਗਈ ਹੈ:
['demo.py', 'one', 'two', 'three']
argparse ਮੋਡੀਊਲ ਕਮਾਂਡ-ਲਾਈਨ ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ ਉੱਨਤ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੀ ਸਕ੍ਰਿਪਟ ਇੱਕ ਜਾਂ ਵੱਧ ਫਾਈਲਾਂ ਅਤੇ ਦਿਖਾਈਆਂ ਜਾਣ ਵਾਲੀਆਂ ਲਾਈਨਾਂ ਦੀ ਇੱਕ ਵਿਕਲਪਿਕ ਗਿਣਤੀ ਕੱਢਦੀ ਹੈ:
import argparse
parser = argparse.ArgumentParser(
prog='top',
description='Show top lines from each file')
parser.add_argument('filenames', nargs='+')
parser.add_argument('-l', '--lines', type=int, default=10)
args = parser.parse_args()
print(args)
ਜਦੋਂ ਇਸਨੂੰ ਕਮਾਂਡ ਲਾਈਨ ਉੱਤੇ python top.py --lines=5 alpha.txt beta.txt ਨਾਲ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਸਕ੍ਰਿਪਟ args.lines ਨੂੰ 5 ਅਤੇ args.filenames ਨੂੰ ['alpha.txt', 'beta.txt'] ਸੈੱਟ ਕਰਦੀ ਹੈ।
10.4. ਗਲਤੀ ਆਉਟਪੁੱਟ ਰੀਡਾਇਰੈਕਸ਼ਨ ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਸਮਾਪਤੀ¶
sys ਮੌਡਿਊਲ ਵਿੱਚ stdin, stdout ਅਤੇ stderr ਲਈ ਵੀ ਐਟ੍ਰਿਬਿਊਟ ਹੁੰਦੇ ਹਨ। ਆਖਰੀ ਵਾਲਾ ਚੇਤਾਵਨੀਆਂ ਅਤੇ ਗਲਤੀ ਸੁਨੇਹੇ ਦਿਖਾਉਣ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਤਾਂ ਜੋ stdout ਰੀਡਾਇਰੈਕਟ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਉਹ ਦਿੱਖਦੇ ਰਹਿਣ:
>>> sys.stderr.write('Warning, log file not found starting a new one\n')
Warning, log file not found starting a new one
ਕਿਸੇ ਸਕ੍ਰਿਪਟ ਨੂੰ ਸਮਾਪਤ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਸਿੱਧਾ ਤਰੀਕਾ sys.exit() ਵਰਤਣਾ ਹੈ।
10.5. ਸਤਰ ਪੈਟਰਨ ਮਿਲਾਣ¶
re ਮੌਡਿਊਲ ਉੱਨਤ ਸਤਰ ਪ੍ਰਕਿਰਿਆ ਲਈ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਜਟਿਲ ਮਿਲਾਣ ਅਤੇ ਸੋਧ ਲਈ ਰੈਗੂਲਰ ਐਕਸਪ੍ਰੈਸ਼ਨ ਸੰਖੇਪ ਅਤੇ ਅਨੁਕੂਲਿਤ ਹੱਲ ਮੁਹੱਈਆ ਕਰਦੇ ਹਨ:
>>> import re
>>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
>>> re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'
ਜਦੋਂ ਸਿਰਫ਼ ਸਧਾਰਣ ਸਮਰੱਥਾਵਾਂ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਸਤਰ ਵਿਧੀਆਂ ਨੂੰ ਤਰਜੀਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਉਹਨਾਂ ਨੂੰ ਪੜ੍ਹਣਾ ਅਤੇ ਡੀਬੱਗ ਕਰਨਾ ਆਸਾਨ ਹੁੰਦਾ ਹੈ:
>>> 'tea for too'.replace('too', 'two')
'tea for two'
10.6. ਗਣਿਤ¶
math ਮੌਡਿਊਲ ਫਲੋਟਿੰਗ-ਪੌਇੰਟ ਗਣਿਤ ਲਈ ਅਧਾਰਭੂਤ C ਲਾਇਬ੍ਰੇਰੀ ਫੰਕਸ਼ਨਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
>>> import math
>>> math.cos(math.pi / 4)
0.70710678118654757
>>> math.log(1024, 2)
10.0
random ਮੌਡਿਊਲ ਬੇਤਰਤੀਬ ਚੋਣਾਂ ਕਰਨ ਲਈ ਟੂਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
>>> import random
>>> random.choice(['apple', 'pear', 'banana'])
'apple'
>>> random.sample(range(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random() # random float from the interval [0.0, 1.0)
0.17970987693706186
>>> random.randrange(6) # random integer chosen from range(6)
4
statistics ਮੌਡਿਊਲ ਸੰਖਿਆਤਮਕ ਡਾਟਾ ਦੇ ਮੂਲ ਅੰਕੜਾ-ਸੰਬੰਧੀ ਗੁਣ (ਔਸਤ, ਮੱਧਿਕਾ, ਵੈਰੀਅੰਸ ਆਦਿ) ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ:
>>> import statistics
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> statistics.mean(data)
1.6071428571428572
>>> statistics.median(data)
1.25
>>> statistics.variance(data)
1.3720238095238095
SciPy ਪ੍ਰੋਜੈਕਟ <https://scipy.org> ਵਿੱਚ ਸੰਖਿਆਤਮਕ ਗਣਨਾਵਾਂ ਲਈ ਹੋਰ ਵੀ ਬਹੁਤ ਸਾਰੇ ਮੌਡਿਊਲ ਮੌਜੂਦ ਹਨ।
10.7. ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ¶
ਇੰਟਰਨੈੱਟ ਤੱਕ ਪਹੁੰਚ ਅਤੇ ਇੰਟਰਨੈੱਟ ਪ੍ਰੋਟੋਕੋਲਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਕਈ ਮੌਡਿਊਲ ਉਪਲਬਧ ਹਨ। ਸਭ ਤੋਂ ਸਰਲ ਮੌਡਿਊਲਾਂ ਵਿੱਚੋਂ ਦੋ ਹਨ urllib.request, ਜੋ URL ਤੋਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ smtplib, ਜੋ ਈਮੇਲ ਭੇਜਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:
>>> from urllib.request import urlopen
>>> with urlopen('https://docs.python.org/3/') as response:
... for line in response:
... line = line.decode() # Convert bytes to a str
... if 'updated' in line:
... print(line.rstrip()) # Remove trailing newline
...
Last updated on Nov 11, 2025 (20:11 UTC).
>>> import smtplib
>>> server = smtplib.SMTP('localhost')
>>> server.sendmail('soothsayer@example.org', 'jcaesar@example.org',
... """To: jcaesar@example.org
... From: soothsayer@example.org
...
... Beware the Ides of March.
... """)
>>> server.quit()
(ਧਿਆਨ ਦਿਓ ਕਿ ਦੂਜੇ ਉਦਾਹਰਨ ਲਈ localhost ਉੱਤੇ ਇੱਕ mailserver ਚੱਲ ਰਿਹਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।)
10.8. ਤਾਰੀਖਾਂ ਅਤੇ ਸਮੇਂ¶
datetime ਮੌਡਿਊਲ ਤਾਰੀਖਾਂ ਅਤੇ ਸਮਿਆਂ ਨੂੰ ਸਧਾਰਣ ਅਤੇ ਜਟਿਲ ਦੋਵੇਂ ਤਰੀਕਿਆਂ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਕਲਾਸਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਭਾਵੇਂ ਤਾਰੀਖ ਅਤੇ ਸਮੇਂ ਦੀ ਗਣਿਤਕ ਗਣਨਾ ਸਮਰਥਿਤ ਹੈ, ਪਰ ਇਸ ਦਾ ਮੁੱਖ ਧਿਆਨ ਆਉਟਪੁੱਟ ਫਾਰਮੈਟਿੰਗ ਅਤੇ ਸੋਧ ਲਈ ਕਾਰਗਰ ਮੈਂਬਰ ਐਕਸਟ੍ਰੈਕਸ਼ਨ ਉੱਤੇ ਹੈ। ਇਹ ਮੌਡਿਊਲ timezone-aware ਵਸਤੂਆਂ ਨੂੰ ਵੀ ਸਮਰਥਨ ਦਿੰਦਾ ਹੈ:
>>> # dates are easily constructed and formatted
>>> import datetime as dt
>>> now = dt.date.today()
>>> now
datetime.date(2003, 12, 2)
>>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")
'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'
>>> # dates support calendar arithmetic
>>> birthday = dt.date(1964, 7, 31)
>>> age = now - birthday
>>> age.days
14368
10.9. ਡਾਟਾ ਸੰਕੁਚਨ¶
ਆਮ ਡਾਟਾ ਆਰਕਾਈਵਿੰਗ ਅਤੇ ਸੰਕੁਚਨ ਫਾਰਮੈਟਾਂ ਨੂੰ ਸਿੱਧਾ ਸਮਰਥਨ ਦੇਣ ਵਾਲੇ ਮੌਡਿਊਲਾਂ ਵਿੱਚ zlib, gzip, bz2, lzma, zipfile ਅਤੇ tarfile ਸ਼ਾਮਲ ਹਨ:
>>> import zlib
>>> s = b'witch which has which witches wrist watch'
>>> len(s)
41
>>> t = zlib.compress(s)
>>> len(t)
37
>>> zlib.decompress(t)
b'witch which has which witches wrist watch'
>>> zlib.crc32(s)
226805979
10.10. ਕਾਰਗੁਜ਼ਾਰੀ ਮਾਪ¶
ਕੁਝ Python ਵਰਤੋਂਕਾਰ ਇੱਕੋ ਸਮੱਸਿਆ ਲਈ ਵੱਖ-ਵੱਖ ਪਹੁੰਚਾਂ ਦੀ ਆਪਸੀ ਕਾਰਗੁਜ਼ਾਰੀ ਜਾਣਨ ਵਿੱਚ ਖਾਸ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹਨ। Python ਇੱਕ ਮਾਪਣ ਸਾਧਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜੋ ਇਨ੍ਹਾਂ ਸਵਾਲਾਂ ਦੇ ਤੁਰੰਤ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਵਜੋਂ, ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਅਦਲਾ-ਬਦਲੀ ਲਈ ਰਵਾਇਤੀ ਤਰੀਕੇ ਦੀ ਬਜਾਏ tuple packing ਅਤੇ unpacking ਵਰਤਣਾ ਆਕਰਸ਼ਕ ਲੱਗ ਸਕਦਾ ਹੈ। timeit ਮੌਡਿਊਲ ਇਸ ਦੀ ਥੋੜ੍ਹੀ ਕਾਰਗੁਜ਼ਾਰੀ ਬਹਿਤਰੀ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਦਰਸਾਉਂਦਾ ਹੈ:
>>> from timeit import Timer
>>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()
0.57535828626024577
>>> Timer('a,b = b,a', 'a=1; b=2').timeit()
0.54962537085770791
timeit ਦੀ ਬਹੁਤ ਸੁਖਮ ਮਾਪ ਸਮਰੱਥਾ ਦੇ ਉਲਟ, profile ਅਤੇ pstats ਮੌਡਿਊਲ ਕੋਡ ਦੇ ਵੱਡੇ ਭਾਗਾਂ ਵਿੱਚ ਸਮੇਂ-ਸੰਵੇਦਨਸ਼ੀਲ ਹਿੱਸਿਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਸਾਧਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
10.11. ਗੁਣਵੱਤਾ ਨਿਯੰਤਰਣ¶
ਉੱਚ ਗੁਣਵੱਤਾ ਵਾਲਾ ਸੌਫਟਵੇਅਰ ਵਿਕਸਿਤ ਕਰਨ ਦਾ ਇੱਕ ਤਰੀਕਾ ਇਹ ਹੈ ਕਿ ਹਰ ਫੰਕਸ਼ਨ ਲਈ ਵਿਕਾਸ ਦੌਰਾਨ ਟੈਸਟ ਲਿਖੇ ਜਾਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਵਾਰ-ਵਾਰ ਚਲਾਇਆ ਜਾਵੇ।
doctest ਮੌਡਿਊਲ ਮੌਡਿਊਲ ਦੀ ਸਕੈਨਿੰਗ ਅਤੇ docstrings ਵਿੱਚ ਸ਼ਾਮਲ ਟੈਸਟਾਂ ਦੀ ਜਾਂਚ ਲਈ ਸਾਧਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਬਣਾਉਣਾ ਸਿਰਫ਼ ਇੱਕ ਆਮ ਕਾਲ ਅਤੇ ਉਸਦੇ ਨਤੀਜੇ ਨੂੰ docstring ਵਿੱਚ ਕਾਪੀ-ਪੇਸਟ ਕਰਨ ਜਿੰਨਾ ਆਸਾਨ ਹੈ। ਇਸ ਨਾਲ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਵਿੱਚ ਉਦਾਹਰਨਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ ਅਤੇ ਕੋਡ ਨੂੰ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਅਨੁਕੂਲ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ:
def average(values):
"""Computes the arithmetic mean of a list of numbers.
>>> print(average([20, 30, 70]))
40.0
"""
return sum(values) / len(values)
import doctest
doctest.testmod() # automatically validate the embedded tests
unittest ਮੌਡਿਊਲ doctest ਜਿੰਨਾ ਸੌਖਾ ਨਹੀਂ ਹੈ, ਪਰ ਇਹ ਇੱਕ ਵੱਖਰੀ ਫਾਈਲ ਵਿੱਚ ਹੋਰ ਵਿਸਤ੍ਰਿਤ ਟੈਸਟ ਸੈੱਟ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ:
import unittest
class TestStatisticalFunctions(unittest.TestCase):
def test_average(self):
self.assertEqual(average([20, 30, 70]), 40.0)
self.assertEqual(round(average([1, 5, 7]), 1), 4.3)
with self.assertRaises(ZeroDivisionError):
average([])
with self.assertRaises(TypeError):
average(20, 30, 70)
unittest.main() # Calling from the command line invokes all tests
10.12. ਸਭ ਕੁਝ ਸ਼ਾਮਲ¶
Python ਦੀ "batteries included" ਫ਼ਲਸਫ਼ਾ ਹੈ। ਇਹ ਇਸਦੇ ਵੱਡੇ ਪੈਕੇਜਾਂ ਦੀਆਂ ਸ਼ਕਤੀਸ਼ਾਲੀ ਅਤੇ ਮਜ਼ਬੂਤ ਸਮਰੱਥਾਵਾਂ ਰਾਹੀਂ ਸਪਸ਼ਟ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ:
ਮੌਡਿਊਲ
xmlrpc.clientਅਤੇxmlrpc.serverਰਿਮੋਟ ਪ੍ਰੋਸੀਜਰ ਕਾਲਾਂ RPC ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਲਗਭਗ ਬਹੁਤ ਹੀ ਆਸਾਨ ਕੰਮ ਬਣਾ ਦਿੰਦੇ ਹਨ। ਮੌਡਿਊਲਾਂ ਦੇ ਨਾਮਾਂ ਦੇ ਬਾਵਜੂਦ, XML ਬਾਰੇ ਸਿੱਧੇ ਗਿਆਨ ਜਾਂ ਉਸਦੀ ਸੰਭਾਲ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।emailਪੈਕੇਜ ਈਮੇਲ ਸੁਨੇਹਿਆਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ, ਜਿਸ ਵਿੱਚ MIME ਅਤੇ ਹੋਰ RFC 5322 ਅਧਾਰਿਤ ਸੁਨੇਹਾ ਦਸਤਾਵੇਜ਼ ਸ਼ਾਮਲ ਹਨ।smtplibਅਤੇpoplibਤੋਂ ਵੱਖਰਾ, ਜੋ ਅਸਲ ਵਿੱਚ ਸੁਨੇਹੇ ਭੇਜਦੇ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ, email ਪੈਕੇਜ ਜਟਿਲ ਸੁਨੇਹਾ ਬਣਤਰਾਂ (ਅਟੈਚਮੈਂਟ ਸਮੇਤ) ਬਣਾਉਣ ਜਾਂ ਡਿਕੋਡ ਕਰਨ ਅਤੇ ਇੰਟਰਨੈੱਟ ਐਨਕੋਡਿੰਗ ਅਤੇ ਹੈਡਰ ਪ੍ਰੋਟੋਕੋਲ ਲਾਗੂ ਕਰਨ ਲਈ ਪੂਰਾ ਟੂਲਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।jsonਪੈਕੇਜ ਇਸ ਲੋਕਪ੍ਰਿਯ ਡਾਟਾ ਅਦਲਾ-ਬਦਲੀ ਫਾਰਮੈਟ ਨੂੰ ਪਾਰਸ ਕਰਨ ਲਈ ਮਜ਼ਬੂਤ ਸਮਰਥਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।csvਮੌਡਿਊਲ Comma-Separated Value ਫਾਰਮੈਟ ਵਿੱਚ ਫਾਈਲਾਂ ਨੂੰ ਸਿੱਧੇ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੀ ਸਹੂਲਤ ਦਿੰਦਾ ਹੈ, ਜਿਸਨੂੰ ਡਾਟਾਬੇਸਾਂ ਅਤੇ ਸਪ੍ਰੈਡਸ਼ੀਟਾਂ ਦੁਆਰਾ ਆਮ ਤੌਰ 'ਤੇ ਸਮਰਥਨ ਮਿਲਦਾ ਹੈ। XML ਪ੍ਰਕਿਰਿਆ ਲਈxml.etree.ElementTree,xml.domਅਤੇxml.saxਪੈਕੇਜ ਉਪਲਬਧ ਹਨ। ਇਕੱਠੇ ਮਿਲ ਕੇ, ਇਹ ਮੌਡਿਊਲ ਅਤੇ ਪੈਕੇਜ Python ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਹੋਰ ਸਾਧਨਾਂ ਵਿਚਕਾਰ ਡਾਟਾ ਅਦਲਾ-ਬਦਲੀ ਨੂੰ ਕਾਫ਼ੀ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ।sqlite3ਮੌਡਿਊਲ SQLite ਡਾਟਾਬੇਸ ਲਾਇਬ੍ਰੇਰੀ ਲਈ ਇੱਕ ਰੈਪਰ ਹੈ, ਜੋ ਇੱਕ ਸਥਾਈ ਡਾਟਾਬੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਥੋੜ੍ਹੀ ਗੈਰ-ਮਿਆਰੀ SQL ਸੰਰਚਨਾ ਦੀ ਵਰਤੋਂ ਨਾਲ ਅੱਪਡੇਟ ਅਤੇ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।Internationalization ਲਈ
gettext,localeਅਤੇcodecsਪੈਕੇਜ ਸਮੇਤ ਕਈ ਮੌਡਿਊਲ ਸਮਰਥਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।