উত্তর:
এই কাজ করার বিভিন্ন উপায় আছে:
একটি সহজ উপায় ওএস মডিউলটি ব্যবহার করছে:
import os
os.system("ls -l")
সাব-প্রসেস মডিউল দিয়ে আরও জটিল জিনিসগুলি অর্জন করা যায়: উদাহরণস্বরূপ:
import subprocess
test = subprocess.Popen(["ping","-W","2","-c", "1", "192.168.1.70"], stdout=subprocess.PIPE)
output = test.communicate()[0]
os.system("nslookup gmail.com")
কেবলমাত্র শেষ লাইনটি ফেরত দেয় 0
তবে আমি সম্পূর্ণ প্রতিক্রিয়া পেতে চাই।
আমি সাবপ্রসেস মডিউল ব্যবহার পছন্দ করি:
from subprocess import call
call(["ls", "-l"])
কারণ হ'ল আপনি যদি স্ক্রিপ্টে কিছু পরিবর্তনশীল পাস করতে চান তবে এটি খুব সহজ উপায় দেয় উদাহরণের নীচের অংশটি গ্রহণ করুন
abc = a.c
call(["vim", abc])
call(["eog", "1breeproposal.png", "-f"])
প্রকৃতপক্ষে সাবপ্রসেসের কোনও প্রশ্নই ভাল পঠনযোগ্য হবে
আপনার কমান্ডগুলিও দেখতে হবে at গেস্ট্যাটাস আউটপুট
এটি দৈর্ঘ্যের 2 দ্বিগুণ করে দেয় .. প্রথমটি হল রিটার্ন পূর্ণসংখ্যা (0 - কমান্ডগুলি সফল হলে) দ্বিতীয়টি পুরো আউটপুট যেমন টার্মিনালে প্রদর্শিত হবে।
এলএসের জন্য
import commands
s=commands.getstatusoutput('ls')
print s
>> (0, 'file_1\nfile_2\nfile_3')
s[1].split("\n")
>> ['file_1', 'file_2', 'file_3']
import os
os.system("echo 'hello world'")
এই কাজ করা উচিত. পাইথন শেলের মধ্যে কীভাবে আউটপুট প্রিন্ট করতে হয় তা আমি জানি না।
Os.popen () চমত্কার সহজভাবে ব্যবহার, কিন্তু এটা পাইথন 2.6 থেকে অবচিত হয়েছে। পরিবর্তে আপনার সাবপ্রসেস মডিউলটি ব্যবহার করা উচিত ।
এখানে পড়ুন: একটি স্ট্রিংয়ে একটি os.popen (কমান্ড) পড়া
একটি জ্যুপির নোটবুকে আপনি যাদু ফাংশনটি ব্যবহার করতে পারেন !
!echo "execute a command"
files = !ls -a /data/dir/ #get the output into a variable
এটি একটি .py
স্ক্রিপ্ট হিসাবে চালিত করতে আপনার ব্যবহার করতে হবেipython
files = get_ipython().getoutput('ls -a /data/dir/')
স্ক্রিপ্ট চালানো
$ ipython my_script.py
আপনি 'ওএস' মডিউলটি আমদানি করতে এবং এটি ব্যবহার করতে পারেন:
import os
os.system('#DesiredAction')