یک برنامه پایتون بنویسید که با استفاده از os.system آدرس IP یک دستگاه IoT را پینگ کند و براساس مقدار بازگشتی، پیامی درباره در دسترس بودن دستگاه نمایش دهد.

4.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 01:05

0.0

برای حل این سؤال از ماژول os و تابع os.system استفاده کنید؛ ابتدا آدرس IP را از کاربر بگیرید، با استفاده از ماژول platform تشخیص دهید سیستم عامل ویندوز است یا یونیکس و سپس پارامتر مناسب برای تعداد بسته‌ها (-n برای ویندوز و -c برای یونیکس) را انتخاب کنید. خروجی تابع os.system عددی برمی‌گرداند (صفر معمولاً یعنی موفقیت در پینگ)، بنابراین با چک کردن این مقدار می‌توانید پیام "در دسترس" یا "در دسترس نیست" نمایش دهید. نکات: ورودی را trim کنید، در صورت نیاز ساده‌سازی یا اعتبارسنجی کنید و به تفاوت‌های پرچم‌های ping بین سیستم‌عامل‌ها توجه داشته باشید.

توسط پژوهشگر در 223 روز قبل ساعت 01:05
دسته بندی ها: Python Python for beginner
reyhaneh در 223 روز قبل ساعت 14:44

این رویکرد خوب است اما باید خروجی os.system را دقیق بررسی کنید، چون مقدار بازگشتی کد وضعیت فرآیند است و برای دریافت عدد واقعی باید از توابعی مانند os.WEXITSTATUS استفاده کنید. با پلت‌فرم تعیین‌شده، -n را برای ویندوز و -c را برای یونیکس به کار بگیرید و IP را قبل از استفاده trim یا validate کنید تا از فرمان‌سازی ناخواسته جلوگیری شود. به‌خاطر داشته باشید بعضی سیستم‌ها یا توزیع‌ها اجازه اجرای ping بدون مجوز یا وجود گزینه‌های متفاوتی برای شمار بسته‌ها را ندارند، پس خطاهای پلت‌فرمی را در نظر بگیرید. اگر امکان دارد، استفاده از subprocess و گرفتن خروجی و پیام‌ها را به عنوان بهبود پیشنهاد می‌کنم، اما اجرای اولیه با os.system هم قابل انجام است.

گزارش

1 پاسخ

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

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