पायथन का उपयोग करके यूनिक्स कमांड पाइपलाइन मैकेनिज्म का उपयोग करने के लिए। कमांड पाइपलाइनिंग में एक सीक्वेंस एक फाइल से दूसरी फाइल में परिवर्तित होता है।
यह मॉड्यूल /bin/sh कमांड लाइन का उपयोग करता है। इसलिए हमें os.system() और os.popen() मेथड्स की आवश्यकता होती है।
इस मॉड्यूल का उपयोग करने के लिए, हमें इसे आयात करना चाहिए:
import pipes
pipes Template क्लास रखता है:
क्लास pipes.Template
यह क्लास मूल रूप से एक पाइपलाइन का अमूर्तीकरण है। इसके अलग-अलग मेथड्स हैं। ये इस प्रकार हैं।
मेथड Template.reset()
यह मेथड पाइपलाइन टेम्पलेट को उसकी प्रारंभिक स्थिति में पुनर्स्थापित करने के लिए उपयोग किया जाता है।
मेथड Template.clone()
यह मेथड एक और नया, और समान टेम्पलेट ऑब्जेक्ट बनाने के लिए उपयोग किया जाता है।
मेथड Template.debug(flag)
यह मेथड प्रक्रिया को डीबग करने के लिए उपयोग किया जाता है। जब फ्लैग ट्रू होता है, तो डीबगिंग मोड ऑन होता है। जब यह ऑन होता है, तो कमांड्स एक्जीक्यूशन के दौरान प्रिंट होंगे।
मेथड Template.append(command, kind)
यह मेथड अंत में एक नया टास्क डालने के लिए उपयोग किया जाता है। कमांड एक बॉर्न शेल कमांड होनी चाहिए। kind वेरिएबल में दो कैरेक्टर्स होते हैं।
पहले अक्षर के लिए, इसका मतलब है:
| Sr.No. | कैरेक्टर और विवरण |
|---|---|
| 1 | ‘–‘ कमांड स्टैंडर्ड इनपुट पढ़ता है |
| 2 | ‘f’ कमांड कमांड लाइन पर दी गई फाइल को पढ़ेगा |
| 3 | ‘.’ कमांड कोई इनपुट नहीं पढ़ता। इसलिए यह पहली पोजीशन पर होगा। |
दूसरे अक्षर के लिए, इसका मतलब है:
| Sr.No. | कैरेक्टर और विवरण |
|---|---|
| 1 | ‘–‘ कमांड स्टैंडर्ड आउटपुट पर लिखता है |
| 2 | ‘f’ कमांड कमांड लाइन पर एक फाइल लिखेगा |
| 3 | ‘.’ कमांड कोई आउटपुट नहीं लिखता। इसलिए यह अंतिम पोजीशन पर होगा। |
मेथड Template.prepend(command, kind)
यह मेथड शुरुआत में एक नया टास्क डालने के लिए उपयोग किया जाता है। कमांड एक बॉर्न शेल कमांड होनी चाहिए। यह append() मेथड के समान है।
मेथड Template.open(file, mode)
यह मेथड पढ़ने या लिखने के लिए एक फाइल खोलने के लिए उपयोग किया जाता है। लेकिन पढ़ने या लिखने के ऑपरेशन्स पाइपलाइन्स द्वारा किए जाते हैं।
मेथड Template.copy(infile, outfile)
यह मेथड पाइपलाइन द्वारा infile से outfile में कॉपी करने के लिए उपयोग किया जाता है।
उदाहरण कोड
import pipes
my_template = pipes.Template()
my_template.append('tr a-z A-Z', '--')
my_template.prepend('echo Python Programming', '--') # क्यू में आइटम प्रीपेंड करें
my_template.append('rev', '--')
my_template.debug(True)
my_file = my_template.open('test_file', 'w')
my_file.close()
content = open('test_file').read()
print(content)
आउटपुट
$ python3 example.py echo Python Programming | tr a-z A-Z | rev >test_file + rev + tr a-z A-Z + echo Python Programming GNIMMARGORP NOHTYP