یک اسکریپت پایتون بنویس که با استفاده از ماژول subprocess و PIPE فرمان سیستم (مثل "uname -a") را اجرا کند، خروجی و وضعیت بازگشتی را دریافت کرده و خروجی را چاپ کند.

10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:58

0.0

برای حل این سوال از ماژول استاندارد subprocess استفاده کنید؛ می‌توانید از subprocess.run یا subprocess.Popen با پارامتر stdout=subprocess.PIPE و stderr=subprocess.PIPE بهره ببرید تا خروجی و خطاها به صورت قابل خواندن در برنامه شما قابل دسترسی باشند. در محیط‌های مرتبط با Systems Programming یا دستگاه‌های Embedded/IoT این روش برای گرفتن اطلاعات سیستم یا اجرای ابزارهای خط فرمان محلی مفید است. نکات: از text=True یا encoding='utf-8' برای دریافت رشته به جای بایت استفاده کنید، وضعیت بازگشتی (returncode) را بررسی کرده و برای جلوگیری از بن‌بست از پارامتر timeout استفاده نمایید.

توسط پژوهشگر در 201 روز قبل ساعت 03:58
دسته بندی ها: Python Python for beginner
reyhaneh در 201 روز قبل ساعت 04:30

برای اجرای فرمانی مانند uname -a با استفاده از subprocess، بهتر است از subprocess.run با capture_output=True و text=True استفاده کنید تا stdout و stderr به صورت رشته در دسترس باشند. خروجی را با چاپ(stdout) و ارزیابی returncode مدیریت کنید تا بتوانید وضعیت بازگشتی را بررسی نمایید. برای جلوگیری از بن‌بست از timeout مناسب استفاده کنید و در صورت وجود خطا، stderr را چاپ کنید تا دیباگ راحت‌تر باشد. همچنین می‌توانید با استفاده از encoding='utf-8' یا متن را به شکل رشته‌ای دریافت کنید تا کاراکترهای غیر ASCII به درستی نمایش داده شوند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری