$lang['tuto'] = "سبق"; ?> ازگر میں بیرونی کمانڈز کو کیسے

ازگر میں بیرونی کمانڈز کو کیسے چلایا جائے۔

Python subprocess

Python سے سسٹم کمانڈز چلانا

Python بیرونی پروگراموں اور سسٹم کمانڈز کو براہ راست آپ کے اسکرپٹس سے چلانے کے لیے طاقتور صلاحیتیں فراہم کرتا ہے۔ یہ خصوصیت آپ کو اپنے آپریٹنگ سسٹم میں دستیاب ٹولز کی وسیع صفوں سے فائدہ اٹھاتے ہوئے Python کی سادگی سے فائدہ اٹھانے کی اجازت دیتی ہے۔

چاہے آپ دہرائے جانے والے کاموں کو خودکار کر رہے ہوں یا پیچیدہ ورک فلو کو مربوط کر رہے ہوں، یہ سمجھنا کہ Python میں سسٹم کمانڈز کو کس طرح کال کرنا ہے آپ کی پیداواری صلاحیت کو نمایاں طور پر بڑھا سکتا ہے۔ اس گائیڈ میں، ہم اسے مؤثر طریقے سے حاصل کرنے کے لیے مختلف طریقے تلاش کریں گے۔

کمانڈ تفصیل
subprocess.run ذیلی شیل میں کمانڈ پر عمل درآمد کرتا ہے۔ آؤٹ پٹ اور غلطیوں کو پکڑ سکتا ہے۔
subprocess.run([...], capture_output=True) پھانسی کی کمانڈ کی معیاری آؤٹ پٹ اور معیاری غلطی کو پکڑتا ہے۔
subprocess.run([...], shell=True) کمانڈ کو شیل کے ذریعے چلاتا ہے، شیل کی خصوصیات جیسے وائلڈ کارڈز کی اجازت دیتا ہے۔
subprocess.Popen ایک نئے عمل میں ایک کمانڈ کو چلاتا ہے، اس پر عمل درآمد پر مزید کنٹرول فراہم کرتا ہے۔
process.stdout.readline() عمل کے معیاری آؤٹ پٹ سے آؤٹ پٹ کی ایک لائن پڑھتا ہے۔
os.system ذیلی شیل میں ایک کمانڈ کو چلاتا ہے، عام طور پر سادہ کمانڈ پر عمل درآمد کے لیے استعمال ہوتا ہے۔
subprocess.check_output ایک کمانڈ چلاتا ہے اور اس کا آؤٹ پٹ واپس کرتا ہے۔ اگر کمانڈ ناکام ہو جائے تو ایک استثناء پیدا کرتا ہے۔
os.environ.copy() موجودہ ماحولیاتی متغیرات کی ایک کاپی بناتا ہے، ترمیم کی اجازت دیتا ہے۔
env parameter in subprocess.run نئے عمل کے لیے ماحولیاتی متغیرات کی وضاحت کرتا ہے۔

ازگر میں اسکرپٹ پر عمل درآمد کو سمجھنا

فراہم کردہ اسکرپٹس Python کا استعمال کرتے ہوئے بیرونی کمانڈز کو انجام دینے کے مختلف طریقے دکھاتی ہیں۔ دی کمانڈ ورسٹائل ہے، جو آپ کو اپنے ازگر اسکرپٹ سے براہ راست شیل کمانڈ چلانے کی اجازت دیتا ہے۔ مثال کے طور پر، کنسول پر ایک پیغام پرنٹ کرتا ہے، جبکہ کی آؤٹ پٹ کو پکڑتا ہے۔ ls -l کمانڈ، ایک تفصیلی ڈائریکٹری لسٹنگ کی نمائش. استعمال کرنا کے ساتھ شیل خصوصیات کے استعمال کی اجازت دیتا ہے، جیسے وائلڈ کارڈ کی توسیع، اسے مزید پیچیدہ کمانڈز کے لیے آسان بناتی ہے۔

دی کمانڈ غیر مطابقت پذیر کمانڈ کو چلانے اور عمل کے ان پٹ اور آؤٹ پٹ اسٹریمز کے ساتھ تعامل کی اجازت دے کر کمانڈ پر عمل درآمد پر مزید کنٹرول فراہم کرتا ہے۔ مثال کے طور پر، اسکرپٹ مثال کے ساتھ مقامی مشین کو مسلسل پنگ کرتا ہے اور آؤٹ پٹ کی ہر لائن کو پڑھتا ہے۔ مزید برآں، سادہ کمانڈ پر عمل درآمد کے لیے استعمال کیا جاتا ہے لیکن اس میں لچک کا فقدان ہے۔ subprocess. ماحولیاتی متغیرات میں ترمیم کی جا سکتی ہے اور اسے استعمال کرتے ہوئے ذیلی عمل میں منتقل کیا جا سکتا ہے۔ اور پیرامیٹر میں ، ماحول کی بنیاد پر متحرک کمانڈ پر عمل درآمد کی اجازت دیتا ہے۔

ازگر میں بیرونی کمانڈز کو چلانا

ازگر کا سب پروسیس ماڈیول استعمال کرنا

import subprocess
# Example 1: Running a simple shell command
subprocess.run(['echo', 'Hello, World!'])
# Example 2: Capturing the output of a command
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
# Example 3: Running a command with shell=True
subprocess.run('echo Hello from the shell', shell=True)
# Example 4: Checking the return code
result = subprocess.run(['ls', 'nonexistentfile'], capture_output=True)
if result.returncode != 0:
    print('Command failed')
# Example 5: Using subprocess.Popen for more control
process = subprocess.Popen(['ping', 'localhost'], stdout=subprocess.PIPE)
while True:
    output = process.stdout.readline()
    if output == b'' and process.poll() is not None:
        break
    if output:
        print(output.strip().decode())

ازگر کے ساتھ سسٹم ٹاسکس کو خودکار کرنا

os.system اور subprocess ماڈیولز کا استعمال

import os
import subprocess
# Example 1: Using os.system to run a command
os.system('echo This is a test')
# Example 2: Running a command and capturing output with subprocess
result = subprocess.run(['date'], capture_output=True, text=True)
print('Current date and time:', result.stdout)
# Example 3: Executing multiple commands
commands = ['echo First command', 'echo Second command']
for cmd in commands:
    os.system(cmd)
# Example 4: Running a command with environment variables
env = os.environ.copy()
env['MY_VAR'] = 'Hello'
subprocess.run('echo $MY_VAR', shell=True, env=env)
# Example 5: Handling command errors
try:
    subprocess.check_output(['false_command'], stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
    print('An error occurred:', e.output.decode())

سسٹم کمانڈ پر عمل درآمد کے لیے جدید تکنیک

Python میں سسٹم کمانڈز پر عمل درآمد کا ایک اور پہلو استعمال کرنا شامل ہے۔ شیل کمانڈ پارسنگ کو ہینڈل کرنے کے لیے ماڈیول۔ یہ ماڈیول شیل کمانڈز کو فہرست کی شکل میں تقسیم کرنے کا ایک طریقہ فراہم کرتا ہے، جسے پھر پاس کیا جا سکتا ہے۔ افعال. یہ اس بات کو یقینی بناتا ہے کہ خالی جگہوں کے ساتھ دلائل کو صحیح طریقے سے ہینڈل کیا گیا ہے۔ اس کے علاوہ، آپ استعمال کر سکتے ہیں معیاری ان پٹ، آؤٹ پٹ، اور ایرر اسٹریمز کو پیرنٹ پروسیس کی طرف لے جانے کے لیے، زیادہ پیچیدہ انٹر پروسیس کمیونیکیشن کی اجازت دیتا ہے۔

مثال کے طور پر، کمانڈ کو زنجیر بنانا اور ان کے آؤٹ پٹ کو ترتیب وار پروسیسنگ ایک کمانڈ کے آؤٹ پٹ کو دوسری کمانڈ میں پائپ کرکے حاصل کیا جا سکتا ہے۔ . یہ آپ کو طاقتور کمانڈ ترتیب بنانے کی اجازت دیتا ہے جیسا کہ آپ شیل اسکرپٹ میں کرتے ہیں۔ آپ بھی استعمال کر سکتے ہیں۔ آپ کے اسکرپٹ کی کارکردگی کو بڑھاتے ہوئے، ایک ساتھ متعدد ذیلی عمل کمانڈز کو چلانے کے لیے، خاص طور پر جب I/O- پابند کاموں سے نمٹنے کے لیے۔

  1. میں شیل کمانڈ کیسے چلا سکتا ہوں اور اس کا آؤٹ پٹ ازگر میں حاصل کر سکتا ہوں؟
  2. استعمال کریں۔ کے ساتھ کمانڈ کے آؤٹ پٹ پر قبضہ کرنے کے لیے۔
  3. ان کے درمیان فرق کیا ھے اور ?
  4. ایک آسان انٹرفیس ہے جو کمانڈ کے مکمل ہونے کا انتظار کرتا ہے۔ کمانڈ پر عمل درآمد پر زیادہ کنٹرول دیتا ہے، غیر مطابقت پذیر آپریشن کی اجازت دیتا ہے۔
  5. سسٹم کمانڈ چلاتے وقت میں غلطیوں کو کیسے ہینڈل کروں؟
  6. استعمال کریں۔ اور کے ساتھ بلاکس غلطیوں کو پکڑنے اور سنبھالنے کے لیے۔
  7. کیا میں ماحولیاتی متغیرات کو کمانڈ میں منتقل کر سکتا ہوں؟
  8. جی ہاں، استعمال کریں پیرامیٹر میں یا ماحولیاتی متغیرات کو منتقل کرنے کے لیے۔
  9. میں ترتیب میں متعدد کمانڈ کیسے چلا سکتا ہوں؟
  10. استعمال کریں۔ یا کے ساتھ پائپوں کا استعمال کرتے ہوئے ایک لوپ یا چین کمانڈز میں .
  11. میں ایسی کمانڈ کو کیسے چلا سکتا ہوں جس میں صارف کے ان پٹ کی ضرورت ہو؟
  12. استعمال کریں۔ کے ساتھ اور استعمال کرتے ہوئے عمل کے ساتھ بات چیت کریں۔ .
  13. کا کیا فائدہ ہے کمانڈ پر عمل درآمد میں؟
  14. شیل کمانڈز کو صحیح طریقے سے پارس کرنے میں مدد کرتا ہے، اس بات کو یقینی بناتا ہے کہ خالی جگہوں کے ساتھ دلائل کو مناسب طریقے سے ہینڈل کیا جائے۔
  15. میں پس منظر میں کمانڈ کیسے چلا سکتا ہوں؟
  16. استعمال کریں۔ عمل مکمل ہونے یا استعمال کرنے کا انتظار کیے بغیر پس منظر پر عملدرآمد کا انتظام کرنے کے لیے۔

سسٹم کمانڈ پر عمل درآمد کے لیے جدید تکنیک

Python میں سسٹم کمانڈز پر عمل درآمد کا ایک اور پہلو استعمال کرنا شامل ہے۔ شیل کمانڈ پارسنگ کو ہینڈل کرنے کے لیے ماڈیول۔ یہ ماڈیول شیل کمانڈز کو فہرست کی شکل میں تقسیم کرنے کا ایک طریقہ فراہم کرتا ہے، جسے پھر پاس کیا جا سکتا ہے۔ افعال. یہ اس بات کو یقینی بناتا ہے کہ خالی جگہوں کے ساتھ دلائل کو صحیح طریقے سے ہینڈل کیا گیا ہے۔ اس کے علاوہ، آپ استعمال کر سکتے ہیں معیاری ان پٹ، آؤٹ پٹ، اور ایرر اسٹریمز کو پیرنٹ پراسیس کی طرف لے جانے کے لیے، زیادہ پیچیدہ انٹر پروسیس کمیونیکیشن کی اجازت دیتا ہے۔

مثال کے طور پر، کمانڈ کو زنجیر بنانا اور ان کے آؤٹ پٹ کو ترتیب وار پروسیسنگ ایک کمانڈ کے آؤٹ پٹ کو دوسری کمانڈ میں پائپ کرکے حاصل کیا جا سکتا ہے۔ . یہ آپ کو طاقتور کمانڈ ترتیب بنانے کی اجازت دیتا ہے جیسا کہ آپ شیل اسکرپٹ میں کرتے ہیں۔ آپ بھی استعمال کر سکتے ہیں۔ آپ کے اسکرپٹ کی کارکردگی کو بڑھاتے ہوئے، ایک ساتھ متعدد ذیلی عمل کمانڈز کو چلانے کے لیے، خاص طور پر جب I/O- پابند کاموں سے نمٹنے کے لیے۔

Python میں بیرونی کمانڈز کو چلانا ایک ورسٹائل اور طاقتور صلاحیت ہے جو آپ کے اسکرپٹنگ اور آٹومیشن کے کاموں کو نمایاں طور پر بڑھا سکتی ہے۔ کا استعمال کرتے ہوئے ماڈیول، آپ شیل کمانڈز چلا سکتے ہیں، ان کے آؤٹ پٹ کو پکڑ سکتے ہیں، اور غلطیوں کو مؤثر طریقے سے ہینڈل کر سکتے ہیں۔ دی فنکشن بنیادی کمانڈ پر عمل درآمد کے لیے ایک آسان متبادل فراہم کرتا ہے۔ مزید برآں، کو شامل کرنا ماڈیول پیچیدہ شیل کمانڈز کی مناسب تجزیہ کو یقینی بناتا ہے۔ ان تکنیکوں کو سمجھنا آپ کو اپنے آپریٹنگ سسٹم کے کمانڈ لائن ٹولز کی پوری صلاحیت کو بروئے کار لاتے ہوئے Python کی طاقتوں سے فائدہ اٹھانے کے قابل بناتا ہے۔