পাইথন ব্যবহার করে ইউনিক্স কমান্ড পাইপলাইন মেকানিজম ব্যবহার করতে। কমান্ড পাইপলাইনিং-এ একটি ক্রম এক ফাইল থেকে অন্য ফাইলে রূপান্তরিত হয়।
এই মডিউলটি /bin/sh কমান্ড লাইন ব্যবহার করে। তাই আমাদের প্রয়োজন os.system() এবং os.popen() পদ্ধতি।
এই মডিউলটি ব্যবহার করতে, আমাদের এটি −
ব্যবহার করে আমদানি করা উচিতimport pipes
পাইপগুলো টেমপ্লেট ক্লাস −
ধারণ করেশ্রেণীর পাইপ। টেমপ্লেট
এই শ্রেণীটি মূলত একটি পাইপলাইনের বিমূর্ততা। এর বিভিন্ন পদ্ধতি রয়েছে। এগুলো নিম্নরূপ।
পদ্ধতি Template.reset()
এই পদ্ধতিটি পাইপলাইন টেমপ্লেটটিকে তার প্রাথমিক অবস্থানে পুনরুদ্ধার করতে ব্যবহৃত হয়।
পদ্ধতি Template.clone()
এই পদ্ধতিটি আরেকটি নতুন, এবং একই টেমপ্লেট অবজেক্ট তৈরি করতে ব্যবহৃত হয়।
পদ্ধতি Template.debug(পতাকা)
এই পদ্ধতিটি প্রক্রিয়াটি ডিবাগ করতে ব্যবহৃত হয়। পতাকা সত্য হলে, ডিবাগিং মোড চালু থাকে। যখন এটি চালু থাকে, কমান্ডগুলি সম্পাদনের সময় মুদ্রিত হবে৷
৷পদ্ধতি Template.append(command, kind)
এই পদ্ধতিটি শেষে একটি নতুন টাস্ক সন্নিবেশ করতে ব্যবহৃত হয়। কমান্ডটি অবশ্যই একটি বোর্ন শেল কমান্ড হতে হবে। প্রকার পরিবর্তনশীল দুটি অক্ষর নিয়ে গঠিত।
প্রথম অক্ষরের জন্য, এর অর্থ −
Sr.No. | চরিত্র ও বর্ণনা |
---|---|
1 | ‘–‘ কমান্ড স্ট্যান্ডার্ড ইনপুট পড়ে |
2 | 'f' কমান্ড কমান্ড লাইনে একটি প্রদত্ত ফাইল পড়বে |
3 | '।' কমান্ড কোন ইনপুট পড়ে না। তাই এটি প্রথম অবস্থানে থাকবে। |
দ্বিতীয় অক্ষরের জন্য, এর অর্থ।
Sr.No. | চরিত্র ও বর্ণনা |
---|---|
1 | ‘–‘ কমান্ড স্ট্যান্ডার্ড আউটপুটে লেখা হয় |
2 | 'f' কমান্ড কমান্ড লাইনে একটি ফাইল লিখবে |
3 | '।' কমান্ড কোন আউটপুট লিখতে না. তাই এটি শেষ অবস্থানে থাকবে। |
পদ্ধতি Template.prepend(কমান্ড, প্রকার)
এই পদ্ধতিটি শুরুতে একটি নতুন কাজ সন্নিবেশ করতে ব্যবহৃত হয়। কমান্ডটি অবশ্যই একটি বোর্ন শেল কমান্ড হতে হবে। এটি append() পদ্ধতির অনুরূপ।
পদ্ধতি Template.open(ফাইল, মোড)
এই পদ্ধতিটি পড়তে বা লিখতে ফাইল খুলতে ব্যবহার করা হয়। কিন্তু পড়া বা লেখার কাজগুলো পাইপলাইন দ্বারা করা হয়।
পদ্ধতি Template.copy(infile, outfile)
এই পদ্ধতিটি পাইপলাইনের মাধ্যমে ইনফাইল থেকে আউটফাইলে কপি করতে ব্যবহৃত হয়।
উদাহরণ কোড
import pipes my_template = pipes.Template() my_template.append('tr a-z A-Z', '--') my_template.prepend('echo Python Programming', '--') #Prepend the item into queue 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