पायथन स्टैंडर्ड लाइब्रेरी
पायथन स्टैंडर्ड लाइब्रेरी पायथन भाषा के साथ आने वाले मॉड्यूल और पैकेज का एक व्यापक संग्रह है, जो डेवलपर्स को मजबूत और कुशल बैकएंड एप्लिकेशन बनाने के लिए आवश्यक उपकरण प्रदान करता है। यह फाइल और डायरेक्टरी संचालन, डेटा मैनिपुलेशन, नेटवर्किंग, सिस्टम ऑटोमेशन और अन्य सामान्य कार्यों के लिए महत्वपूर्ण फ़ंक्शन प्रदान करता है। इसकी प्रमुख विशेषता यह है कि डेवलपर्स को बाहरी लाइब्रेरी पर निर्भर नहीं रहना पड़ता, जिससे पोर्टेबिलिटी और स्थिरता बढ़ती है। मुख्य अवधारणाओं में मॉड्यूल (विशिष्ट फ़ंक्शन वाले यूनिट), पैकेज (मॉड्यूल के समूह), पायथन सिंटैक्स, बिल्ट-इन डेटा संरचनाएँ जैसे लिस्ट, डिक्शनरी, सेट, प्रभावी एल्गोरिदम और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सिद्धांत शामिल हैं। इस लाइब्रेरी का उपयोग करके पाठक मॉड्यूल का प्रभावी संयोजन, त्रुटि प्रबंधन, प्रदर्शन अनुकूलन और जटिल बैकएंड समाधानों की संरचना और रखरखाव सीखेंगे, जो बड़े पैमाने पर एप्लिकेशन की विश्वसनीयता और कुशलता सुनिश्चित करता है।
एक व्यावहारिक उदाहरण सर्वर लॉग फ़ाइलों का विश्लेषण है ताकि त्रुटियों की पहचान और उनकी गिनती की जा सके। os
मॉड्यूल फ़ाइल संचालन के लिए, datetime
मॉड्यूल टाइमस्टैम्प बनाने के लिए, re
मॉड्यूल नियमित अभिव्यक्ति आधारित खोज के लिए, collections.Counter
त्रुटियों की गिनती के लिए और json
मॉड्यूल परिणामों को स्टोर या साझा करने के लिए उपयोग किया जाता है। यह उदाहरण दिखाता है कि कैसे विभिन्न मॉड्यूलों को मिलाकर एक मॉड्यूलर और मेंटेन करने योग्य समाधान तैयार किया जा सकता है। प्रत्येक मॉड्यूल स्पष्ट रूप से अपनी जिम्मेदारी निभाता है, जिससे कोड संरचित, कुशल और पढ़ने में आसान रहता है। यह दृष्टिकोण बैकएंड सर्वर मॉनिटरिंग, स्वचालित लॉग एनालिसिस और डेटा रिपोर्टिंग या विज़ुअलाइज़ेशन के लिए सीधे लागू किया जा सकता है।
Example
pythonimport os
import datetime
import re
import json
from collections import Counter
from math import ceil
log_file = "server.log"
backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.log"
try:
with open(log_file, 'r') as f:
lines = f.readlines()
error_lines = [line for line in lines if re.search(r'ERROR', line)]
error_count = Counter([line.split()[1] for line in error_lines])
with open("error_summary.json", 'w') as f:
json.dump(error_count, f, indent=4)
os.rename(log_file, backup_file)
backups_needed = ceil(len(lines) / 1000)
print(f"जरूरी बैकअप की संख्या: {backups_needed}")
except FileNotFoundError as e:
print(f"फ़ाइल नहीं मिली: {e}")
except Exception as e:
print(f"अनपेक्षित त्रुटि: {e}")
📊 Comprehensive Reference
Module | Function | Description | Syntax | Example | Notes |
---|---|---|---|---|---|
os | rename | फ़ाइल नाम बदलें | os.rename(src, dst) | os.rename("old.txt", "new\.txt") | फ़ाइल प्रबंधन |
sys | exit | इंटरप्रेटर समाप्त करें | sys.exit(\[status]) | sys.exit(1) | प्रोग्राम बंद करना |
math | ceil | ऊपर गोल करें | math.ceil(x) | math.ceil(3.4) | गणितीय ऑपरेशन |
math | sqrt | वर्गमूल निकालें | math.sqrt(x) | math.sqrt(16) | गणितीय ऑपरेशन |
datetime | now | वर्तमान तिथि/समय | datetime.datetime.now() | datetime.datetime.now() | समय प्रबंधन |
datetime | strftime | तिथि स्वरूपित करें | datetime.strftime(format) | datetime.datetime.now().strftime("%Y-%m-%d") | तिथि फॉर्मेटिंग |
re | search | Regex खोजें | re.search(pattern, string) | re.search(r"ERROR", "log") | पाठ विश्लेषण |
re | sub | Regex बदलें | re.sub(pattern, repl, string) | re.sub(r"\d+", "", "abc123") | डेटा सफाई |
json | dump | JSON लिखें | json.dump(obj, fp) | json.dump(data, f) | सीरियलाइज़ेशन |
json | load | JSON पढ़ें | json.load(fp) | data=json.load(f) | डीसीरियलाइज़ेशन |
collections | Counter | तत्वों की गिनती करें | collections.Counter(iterable) | Counter(\["a","b","a"]) | आंकड़ों का विश्लेषण |
itertools | chain | Iterables जोड़ें | itertools.chain(*iterables) | list(chain(\[1,2],\[3,4])) | इटरेशन |
functools | reduce | क्रमिक कटौती | functools.reduce(func, seq) | reduce(lambda x,y:x+y,\[1,2,3]) | फंक्शनल प्रोग्रामिंग |
random | randint | रैंडम संख्या | random.randint(a,b) | random.randint(1,10) | सिमुलेशन |
heapq | heappush | हीप में जोड़ें | heapq.heappush(heap,item) | heappush(heap,5) | प्राथमिकता कतार |
heapq | heappop | छोटा तत्व निकालें | heapq.heappop(heap) | heappop(heap) | प्राथमिकता कतार |
threading | Thread | थ्रेड बनाएँ | threading.Thread(target=func) | threading.Thread(target=my_func) | मल्टीथ्रेडिंग |
subprocess | run | बाहरी कमांड चलाएँ | subprocess.run(args) | subprocess.run(\["ls","-l"]) | सिस्टम कॉल |
time | sleep | रोकें | time.sleep(seconds) | time.sleep(2) | समय नियंत्रण |
pathlib | Path | पथ संचालन | Path("file.txt") | Path("data.txt").exists() | पथ प्रबंधन |
uuid | uuid4 | यूनीक आईडी | uuid.uuid4() | uuid.uuid4() | अद्वितीय पहचान |
base64 | b64encode | Base64 एन्कोड | base64.b64encode(data) | base64.b64encode(b"data") | एन्कोडिंग |
hashlib | sha256 | SHA-256 हैश | hashlib.sha256(data) | hashlib.sha256(b"data").hexdigest() | सुरक्षा |
copy | deepcopy | डीप कॉपी | copy.deepcopy(obj) | copy.deepcopy(mylist) | संदर्भ से बचें |
gzip | open | Gzip फ़ाइल खोलें | gzip.open(filename) | gzip.open("file.gz") | कंप्रेशन |
zipfile | ZipFile | ZIP आर्काइव | zipfile.ZipFile(file) | with ZipFile("a.zip") as z: pass | कंप्रेशन |
configparser | ConfigParser | कॉन्फ़िग फ़ाइल | configparser.ConfigParser() | config.read("config.ini") | कॉन्फ़िगरेशन |
message_from_string | ईमेल पार्स करें | email.message_from_string(string) | msg=email.message_from_string(raw) | ईमेल | |
urllib | request.urlopen | URL खोलें | urllib.request.urlopen(url) | urllib.request.urlopen("[http://example.com") | HTTP](http://example.com%22%29 |
socket | socket | नेटवर्क सॉकेट | socket.socket() | s=socket.socket() | नेटवर्किंग |
logging | basicConfig | लॉगिंग कॉन्फ़िग | logging.basicConfig(level) | logging.basicConfig(level=logging.INFO) | लॉगिंग |
argparse | ArgumentParser | CLI आर्गुमेंट | argparse.ArgumentParser() | parser=argparse.ArgumentParser() | कमान्ड लाइन |
shutil | copy | फ़ाइल कॉपी करें | shutil.copy(src,dst) | shutil.copy("a.txt","b.txt") | फ़ाइल प्रबंधन |
pprint | pprint | सुंदर प्रिंट | pprint.pprint(obj) | pprint.pprint(data) | डेटा प्रदर्शन |
statistics | mean | औसत | statistics.mean(data) | statistics.mean(\[1,2,3]) | सांख्यिकी |
statistics | median | मध्यिका | statistics.median(data) | statistics.median(\[1,2,3]) | सांख्यिकी |
queue | Queue | थ्रेड-सुरक्षित कतार | queue.Queue() | q=queue.Queue() | मल्टीथ्रेडिंग |
enum | Enum | एन्म बनाएं | class Color(Enum): RED=1 | Color.RED | कांस्टेंट |
typing | List | टाइप एनोटेशन | from typing import List | def f(x:List): | टाइप हिंट |
decimal | Decimal | उच्च-प्रेसिजन दशमलव | decimal.Decimal("0.1") | Decimal("0.1") | संख्या सटीकता |
fractions | Fraction | सटीक भिन्न | fractions.Fraction(a,b) | Fraction(1,3) | सटीक गणना |
statistics | stdev | मानक विचलन | statistics.stdev(data) | statistics.stdev(\[1,2,3]) | सांख्यिकी |
bisect | insort | सॉर्टेड इन्सर्ट | bisect.insort(list,item) | bisect.insort(a,5) | सॉर्टिंग |
xml | etree.ElementTree | XML पार्स | ET.parse(file) | ET.parse("file.xml") | संरचित डेटा |
pickle | dump | बाइनरी सीरियलाइज | pickle.dump(obj,fp) | pickle.dump(obj,f) | स्टोरेज |
pickle | load | डीसीरियलाइज | pickle.load(fp) | obj=pickle.load(f) | रिकवरी |
shelve | open | पर्सिस्टेंट डिक्शनरी | shelve.open(file) | db=shelve.open("db") | संग्रहण |
tokenize | generate_tokens | टोकनाइजेशन | tokenize.generate_tokens(readline) | tokens=list(tokenize.generate_tokens(f.readline)) | सिंटैक्स एनालिसिस |
pdb | set_trace | ब्रेकपॉइंट | pdb.set_trace() | pdb.set_trace() | डीबगिंग |
inspect | getmembers | ऑब्जेक्ट मेम्बर्स | inspect.getmembers(obj) | inspect.getmembers(obj) | रिफ्लेक्शन |
socketserver | TCPServer | TCP सर्वर | socketserver.TCPServer((host,port),handler) | TCPServer(("0.0.0.0",8000),Handler) | कस्टम सर्वर |
csv | reader | CSV पढ़ें | csv.reader(file) | csv.reader(f) | टेबल डेटा |
csv | writer | CSV लिखें | csv.writer(file) | csv.writer(f) | टेबल डेटा |
tarfile | open | TAR फ़ाइल | tarfile.open(file) | tarfile.open("archive.tar") | आर्काइव |
wave | open | WAV फ़ाइल | wave.open(file) | wave.open("audio.wav") | ऑडियो |
audioop | add | ऑडियो ऑपरेशन | audioop.add(fragment1,fragment2,2) | audioop.add(b1,b2,2) | ऑडियो |
gettext | gettext | अनुवाद | gettext.gettext("text") | _("नमस्ते") | अंतरराष्ट्रीयकरण |
xmlrpc | ServerProxy | XML-RPC क्लाइंट | xmlrpc.client.ServerProxy(url) | ServerProxy("[http://localhost:8000") | RPC](http://localhost:8000%22%29 |
asyncio | run | कोरूटिन चलाएँ | asyncio.run(coro) | asyncio.run(main()) | एसिंक्रोनस टास्क |
contextlib | contextmanager | कॉन्टेक्स्ट मैनेजर | @contextmanager | @contextmanager def cm(): yield | संसाधन प्रबंधन |
🧠 अपने ज्ञान की परीक्षा करें
Test Your Knowledge
पायथन स्टैंडर्ड लाइब्रेरी की आपकी समझ का परीक्षण करें
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी