Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन (टैरफाइल) का उपयोग करके टार आर्काइव फाइलें पढ़ें और लिखें

'टार' उपयोगिता मूल रूप से यूनिक्स ऑपरेटिंग सिस्टम के लिए पेश की गई थी। इसका उद्देश्य एक संग्रह फ़ाइल में कई फाइलें एकत्र करना है जिसे अक्सर टारबॉल कहा जाता है जिससे फाइलों को वितरित करना आसान हो जाता है। पायथन के मानक पुस्तकालय के टारफाइल मॉड्यूल में कार्य टार अभिलेखागार बनाने और आवश्यकतानुसार टारबॉल से निकालने में मदद करते हैं। अभिलेखागार का निर्माण gzip, bz2 और lzma संपीड़न के साथ या बिना किसी संपीड़न के किया जा सकता है।

इस मॉड्यूल में परिभाषित मुख्य कार्य मुख्य () है जिसके उपयोग से टार फ़ाइल में लिखना या उससे पढ़ना पूरा किया जाता है।

खोलें ()

यह फ़ंक्शन फ़ाइल नाम के अनुरूप एक TarFile ऑब्जेक्ट देता है जो इसे पैरामीटर के रूप में प्रदान किया जाता है। फ़ंक्शन को मोड नामक एक अन्य पैरामीटर की आवश्यकता होती है, जो डिफ़ॉल्ट रूप से 'r' होता है जो बिना किसी संपीड़न का संकेत देता है। अन्य मोड नीचे सूचीबद्ध हैं

Sr.No. मोड और क्रिया
1 'r' या 'r:*'
पारदर्शी संपीड़न के साथ पढ़ने के लिए खुला।
2 'r:'
संपीड़न के बिना पढ़ने के लिए खुला।
3 'r:gz'
gzip संपीड़न के साथ पढ़ने के लिए खोलें।
4 'r:bz2'
bzip2 संपीड़न के साथ पढ़ने के लिए खोलें।
5 'r:xz'
lzma संपीड़न के साथ पढ़ने के लिए खोलें।
6 'x' या 'x:'
बिना कंप्रेशन के विशेष रूप से एक टैरिफाइल बनाएं।
7 'x:gz'
gzip कम्प्रेशन के साथ एक tarfile बनाएँ।
8 'x:bz2'
bzip2 संपीड़न के साथ एक tarfile बनाएँ।
9 'x:xz'
lzma संपीड़न के साथ एक tarfile बनाएँ।
10 'a' या 'a:'
बिना किसी संपीड़न के जोड़ने के लिए खुला।
11 'w' या 'w:'
असम्पीडित लेखन के लिए खुला।
12 'w:gz'
gzip संपीड़ित लेखन के लिए खोलें।
13 'w:bz2'
bzip2 संपीड़ित लेखन के लिए खोलें।
14 'w:xz'
lzma संपीड़ित लेखन के लिए खोलें।

मॉड्यूल TarFile वर्ग को परिभाषित करता है। ओपन () फ़ंक्शन के बजाय, टैरफाइल ऑब्जेक्ट को कंस्ट्रक्टर को कॉल करके इंस्टेंट किया जा सकता है।

TarFile()

इस कंस्ट्रक्टर को एक फ़ाइल नाम और मोड पैरामीटर की भी आवश्यकता होती है। मोड पैरामीटर के संभावित मान ऊपर दिए गए हैं।

इस वर्ग की अन्य विधियाँ इस प्रकार हैं

जोड़ें ()

यह विधि संग्रह में एक फ़ाइल जोड़ती है। विधि को एक नाम की आवश्यकता होती है जो फ़ाइल, निर्देशिका, प्रतीकात्मक लिंक, शॉर्टकट आदि का नाम हो सकता है। निर्देशिकाओं को डिफ़ॉल्ट रूप से पुनरावर्ती रूप से जोड़ा जाता है। पुनरावर्ती जोड़ को रोकने के लिए पुनरावर्ती पैरामीटर को गलत पर सेट करें।

ऐडफाइल ()

यह विधि संग्रह में TarInfo ऑब्जेक्ट जोड़ती है।

निकालें ()

यदि कोई अन्य पथ स्पष्ट रूप से प्रदान नहीं किया गया है तो यह विधि संग्रह के सभी सदस्यों को वर्तमान पथ में निकालती है।

निकालें ()

यह विधि निर्दिष्ट सदस्य को दिए गए पथ में निकालती है, डिफ़ॉल्ट वर्तमान पथ है।

निम्नलिखित उदाहरण gzip एल्गोरिथम के साथ संपीड़न के लिए एक टार फ़ाइल खोलता है और उसमें एक फ़ाइल जोड़ता है।

>>> fp = tarfile.open("zen.tar.gz","w:gz")
>>> fp.add("zen.txt")
>>> fp.close()

यह मानते हुए कि 'zen.txt' फ़ाइल वर्तमान कार्यशील निर्देशिका में मौजूद है, इसे 'zen.tar.gz' फ़ाइल में जोड़ा जाएगा।

निम्नलिखित कोड टार आर्काइव से फाइलों को निकालता है और सभी फाइलों को निकालता है (इस मामले में केवल चालू है) और उन्हें वर्तमान फ़ोल्डर में रखता है। परिणाम को सत्यापित करने के लिए, आप वर्तमान फ़ोल्डर में 'zen.txt' को हटा या उसका नाम बदल सकते हैं।

>>> fp = tarfile.open("zen.tar.gz","r:gz")
>>> fp.extractall()
>>> fp.close()

आप पाएंगे कि 'zen.txt' फ़ाइल वर्तमान निर्देशिका में दिखाई देगी।

वर्तमान निर्देशिका में सभी फाइलों से युक्त एक टार बनाने के लिए, निम्नलिखित कोड का उपयोग करें

import tarfile, glob
>>> fp=tarfile.open('file.tar','w')
>>> for file in glob.glob('*.*'):
fp.add(file)
>>> fp.close()

कमांड लाइन इंटरफ़ेस

कमांड लाइन इंटरफेस के माध्यम से टार फाइलों का निर्माण और निष्कर्षण प्राप्त किया जा सकता है। उदाहरण के लिए कमांड विंडो में निष्पादित कमांड का पालन करके 'lines.txt' फ़ाइल को टार फ़ाइल में जोड़ा जाता है

C:\python36 >python -m tarfile -c line.tar lines.txt

निम्नलिखित कमांड लाइन विकल्पों का उपयोग किया जा सकता है।

-l या --list फ़ाइलों को एक टैरिफ़ाइल में सूचीबद्ध करें।
-c या --create स्रोत फ़ाइलों से tarfile बनाएँ।
-e या --extract यदि output_dir निर्दिष्ट नहीं है, तो मौजूदा निर्देशिका में tarfile निकालें।
-t या --test जांचें कि टारफाइल वैध है या नहीं।
-v या --verbose वर्बोज़ आउटपुट।

निम्नलिखित कमांड लाइन वर्तमान निर्देशिका के तहत newdir फ़ोल्डर में line.tar निकालेगी।

C:\python36>python -m tarfile -e line.tar newdir/

निम्नलिखित कमांड लाइन टार आर्काइव में सभी फाइलों को सूचीबद्ध करेगी।

C:\python36>python -m tarfile -l files.tar

tarfile मॉड्यूल पर इस लेख में परिभाषित वर्गों और कार्यों के बारे में बताया गया है।


  1. पायथन में xlsxwriter मॉड्यूल का उपयोग करके एक्सेल फ़ाइल बनाएं और लिखें

    पायथन की पुस्तकालयों की व्यापक उपलब्धता इसे माइक्रोसॉफ्ट एक्सेल के साथ बातचीत करने में सक्षम बनाती है जो एक बहुत व्यापक रूप से उपयोग किया जाने वाला डेटा प्रोसेसिंग टूल है। इस लेख में हम देखेंगे कि हम एक्सेल फाइल बनाने और लिखने के लिए xlsxwriter नामक मॉड्यूल का उपयोग कैसे कर सकते हैं। यह मौजूदा एक्से

  1. पायथन ओपनपीएक्सएल मॉड्यूल का उपयोग करके एक्सेल फ़ाइल को पढ़ें और लिखें

    पायथन एक्सेल फाइलों के साथ काम करने के लिए ओपनपीएक्सएल मॉड्यूल प्रदान करता है। एक्सेल फाइलें कैसे बनाएं, कैसे लिखें, पढ़ें आदि को इस मॉड्यूल द्वारा कार्यान्वित किया जा सकता है। openpyxl मॉड्यूल को स्थापित करने के लिए, हम इस कमांड को कमांड प्रॉम्प्ट में लिख सकते हैं पाइप ओपनपीएक्सएल इंस्टॉल करें अग

  1. Linux पर TAR का उपयोग करके फ़ाइलें कैसे संग्रहीत करें

    आर्काइव एक विशेष प्रकार की फाइल होती है जो अपने अंदर ढेर सारे फोल्डर और फाइलों को स्टोर कर सकती है। संग्रहों को इतना प्रभावी बनाने वाली बात यह है कि उनमें जो फ़ाइलें और फ़ोल्डर होते हैं, वे उस फ़ाइल-संरचना को बनाए रखते हैं जो उनके पास संग्रह के बाहर थी, और यह संरचना तब बनी रहती है जब कोई संग्रह संग्