نحوه توقف برنامه پایتون ممکن است آخرین چیزی باشد که به ذهن شما می رسد، اما هنوز هم مهم است که به آن توجه کنید.
خلاصه عناوین
- استفاده از quit() یا exit()
- استفاده از sys.exit()
- استفاده از os._exit()
- برای خاتمه دادن به برنامه در پایتون از چه روشی باید استفاده کرد؟
دانستن نحوه پایان دادن به یک برنامه مهم است و می تواند در سناریوهای مختلف مفید باشد. به عنوان مثال، اگر یک بازی ساده میسازید، میتوانید با ورودی خاص کاربر یا زمانی که شرایط خاصی برآورده شد، آن را ترک کنید. تفاوت بین سه راه توقف برنامه پایتون را کشف کنید.
1. استفاده از quit() یا exit()
یکی از سادهترین راههای پایان دادن به برنامه پایتون، استفاده از یکی از متدهای داخلی Quit() یا exit() است. هنگامی که شما یا quit() یا exit() را فراخوانی می کنید، برنامه خاتمه می یابد.
این
ترک ()
و
خروج ()
توابع دقیقاً همین کار را انجام می دهند، این فقط یک موضوع ترجیح شخصی است که شما از آن استفاده می کنید.
در اینجا نحوه استفاده از تابع quit() برای پایان دادن به برنامه پایتون آمده است:
for num in range(10):
if num == 9:
quit()
print(num)
برنامه نمونه بالا اعداد صحیح از 0 تا 8 را روی کنسول چاپ می کند. هنگامی که عدد 9 شد، برنامه خارج می شود. همچنین میتوانید از دستور quit() برای خروج از محیط توسعه و یادگیری یکپارچه پایتون (IDLE) استفاده کنید، که به شما امکان میدهد اسکریپتهای پایتون را به صورت تعاملی اجرا کنید.
توجه داشته باشید که هم quit() و هم exit() به ماژول سایت متکی هستند، بنابراین نباید از آنها در محیط های تولید استفاده کنید. روش بعدی، sys.exit()، گزینه بهتری است.
2. استفاده از sys.exit()
وقتی در برنامه خود ()sys.exit را فرا میخوانید، پایتون یک استثنای SystemExit را ایجاد میکند. یک آرگومان اختیاری برای تعیین یک کد خروجی عدد صحیح (به طور پیش فرض 0) می پذیرد. همچنین می توانید یک شی را ارسال کنید که منجر به کد خروج 1 می شود و مقدار رشته شی را به خطای استاندارد چاپ می کند.
import sys # Remember to include this statement at the top of the module
for num in range(10):
if num == 5:
sys.exit("You exited the program")
print(num)
خروجی برنامه به صورت زیر خواهد بود:
مانند
ترک کردن
و
خروج
مواد و روش ها،
sys.exit()
الف را نیز مطرح می کند
SystemExit
استثنا. این بدان معنی است که شما می توانید تماس بگیرید
sys.exit()
یا
افزایش SystemExit()
. هر دو یک استدلال اختیاری را می پذیرند.
اگر نمی دانید کد بالا چگونه کار می کند، باید در مورد مهمترین توابع پایتون بیاموزید.
3. استفاده از os._exit()
سومین راه برای خروج از برنامه، متد os._exit() ویژه است. شما می توانید آن را یک آرگومان اختیاری برای تعیین یک کد وضعیت خروج ارسال کنید. os._exit() از ماژول os می آید و فرآیند را فوراً بدون انجام فعالیت های پاکسازی معمولی که هنگام خروج یک برنامه پایتون رخ می دهد، خاتمه می دهد.
از آنجایی که این عملکرد بدون انجام پاکسازی معمولی خارج می شود، باید فقط در موارد خاص از آن استفاده کنید. با توجه به مستندات پایتون، یک مثال خوب در یک پردازش فرزند پس از یک فورک است (فرایند جدیدی که با استفاده از os.fork() ایجاد شده است.
در اینجا مثالی از نحوه استفاده از تابع os._exit() برای پایان دادن به یک برنامه آورده شده است:
import os
import sys
def child_process():
print("Child process is running.")
os._exit(0)
def main():
print("Parent process is running.")
try:
pid = os.fork()
if pid == 0:
# Code in the child process
child_process()
else:
# Code in the parent process
print(f"Parent process is continuing with child process PID: {pid}")
except OSError as e:
print(f"Fork failed: {e}")
sys.exit(1)
print("Parent process is done.")
if __name__ == "__main__":
main()
کد بالا خروجی زیر را خواهد داشت:
برای خاتمه دادن به برنامه در پایتون از چه روشی باید استفاده کرد؟
پایتون روش های مختلفی را برای پایان دادن به یک برنامه ارائه می دهد. با این حال، اکثر این روش ها همان کار را انجام می دهند. اگر هنگام یادگیری پایتون نیاز به اضافه کردن مکانیزم خروج به برنامه خود دارید، این باید بار تصمیم گیری را کاهش دهد.
به طور خلاصه، sys.exit() باید روش اصلی شما برای پایان دادن به یک برنامه در پایتون باشد. یک استثنای SystemExit با یک کد خروج اختیاری ایجاد می کند.
متدهای quit() و exit() هنگام استفاده از Python REPL مناسب تر هستند. در تولید باید از آنها اجتناب کنید زیرا به ماژول سایت بستگی دارند که ممکن است همیشه در دسترس نباشد. به ندرت باید از os._exit() استفاده کنید، مگر اینکه با کدی کار می کنید که فرآیندها را فورک می کند.