11
0

چطور می‌تونم یه دستور خارجی رو توی پایتون اجرا کنم، انگار که توی شل یا خط فرمان تایپ کرده بودم؟

0

از subprocess.run استفاده کن:

import subprocess

subprocess.run(["ls", "-l"]) 

راه دیگه‌ای که معمولاً استفاده می‌شه os.system هست، ولی بهتره ازش استفاده نکنی چون امنیت نداره اگه هر بخش از دستور از خارج برنامه‌ت بیاد یا شامل فاصله یا کاراکترهای خاص باشه. همچنین subprocess.run معمولاً انعطاف‌پذیرتره (میتونی خروجی استاندارد، خطاها، کد وضعیت واقعی و مدیریت خطای بهتری داشته باشی و غیره). حتی مستندات os.system هم توصیه می‌کنه از subprocess استفاده کنی.

تو پایتون 3.4 و نسخه‌های قبلی، از subprocess.call به جای .run استفاده کن.

subprocess.call(["ls", "-l"])
ارسال پاسخ به سوال بالا

برای ارسال پاسخ باید وارد اکانتت بشی

اگر پاسخت شامل تکه کدی میشه، از منوی ویرایشگر پایین، تکه کدی که نوشتی رو انتخاب کن و بعد از طریق زبان کدی که نوشتی رو انتخاب کن تا کدت داخل بلاک مخصوص زبان خودش قرار بگیره و کدت خواناتر برای بقیه نشون داده بشه

اگه پاسخت رفرنسی داره، لینک رفرنس رو هم بذار تا پاسختت کاملتر و معتبر تر بشه