Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

Có vẻ như Python hỗ trợ nhiều lệnh khác nhau để dừng thực thi tập lệnh. Các lựa chọn tôi đã tìm thấy là: quit(), exit(), sys.exit(), os._exit()
The choices I've found are: quit(), exit(), sys.exit(), os._exit()

Tôi đã bỏ lỡ bất kỳ? Sự khác biệt giữa họ là gì? Khi nào bạn sẽ sử dụng mỗi cái?

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

Jackie

20.8K31 Huy hiệu vàng135 Huy hiệu bạc269 Huy hiệu đồng31 gold badges135 silver badges269 bronze badges

Đã hỏi ngày 2 tháng 11 năm 2013 lúc 22:00Nov 2, 2013 at 22:00

Jonathan Livnijonathan LivniJonathan Livni

96.7K102 Huy hiệu vàng257 Huy hiệu bạc355 Huy hiệu Đồng102 gold badges257 silver badges355 bronze badges

1

Hãy để tôi cung cấp một số thông tin về họ:

  1. quit() chỉ đơn giản là tăng ngoại lệ SystemExit.

    Hơn nữa, nếu bạn in nó, nó sẽ đưa ra một thông điệp:

    >>> print (quit)
    Use quit() or Ctrl-Z plus Return to exit
    >>>
    

    Chức năng này được đưa vào để giúp những người không biết Python. Rốt cuộc, một trong những điều có thể nhất mà một người mới sẽ cố gắng thoát Python đang gõ vào ____10.

    Tuy nhiên,

    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    0 không nên được sử dụng trong mã sản xuất. Điều này là do nó chỉ hoạt động nếu mô -đun
    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    2 được tải. Thay vào đó, chức năng này chỉ nên được sử dụng trong phiên dịch.not be used in production code. This is because it only works if the
    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    2 module is loaded. Instead, this function should only be used in the interpreter.

  2. exit() là bí danh cho

    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    0 (hoặc ngược lại). Chúng tồn tại cùng nhau chỉ đơn giản là làm cho Python thân thiện hơn với người dùng.

    Hơn nữa, nó cũng đưa ra một thông điệp khi được in:

    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    

    Tuy nhiên, như

    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    0,
    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    6 được coi là xấu để sử dụng trong mã sản xuất và nên được dành để sử dụng trong phiên dịch viên. Điều này là do nó quá phụ thuộc vào mô -đun
    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    2.

  3. sys.exit() cũng làm tăng ngoại lệ SystemExit. Điều này có nghĩa là nó giống như

    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    0 và
    >>> print (exit)
    Use exit() or Ctrl-Z plus Return to exit
    >>>
    
    6 về mặt đó.

    Tuy nhiên, không giống như hai người đó,

    raise SystemExit
    
    2 được coi là tốt để sử dụng trong mã sản xuất. Điều này là do mô -đun
    raise SystemExit
    
    3 sẽ luôn ở đó.

  4. os._exit() Thoát khỏi chương trình mà không gọi trình xử lý dọn dẹp, bộ đệm Stdio Flushing, v.v ... Vì vậy, đây không phải là một cách tiêu chuẩn để thoát và chỉ nên được sử dụng trong các trường hợp đặc biệt. Phổ biến nhất trong số này là trong quy trình trẻ em được tạo bởi

    raise SystemExit
    
    5.without calling cleanup handlers, flushing stdio buffers, etc. Thus, it is not a standard way to exit and should only be used in special cases. The most common of these is in the child process(es) created by
    raise SystemExit
    
    5.

    Lưu ý rằng, trong bốn phương pháp được đưa ra, chỉ có phương thức này là duy nhất trong những gì nó làm.

Tóm lại, tất cả bốn phương pháp thoát khỏi chương trình. Tuy nhiên, hai cái đầu tiên được coi là xấu để sử dụng trong mã sản xuất và cuối cùng là một cách không chuẩn, bẩn chỉ được sử dụng trong các kịch bản đặc biệt. Vì vậy, nếu bạn muốn thoát một chương trình bình thường, hãy đi với phương pháp thứ ba:

raise SystemExit
2.


Hoặc, thậm chí tốt hơn theo ý kiến ​​của tôi, bạn có thể làm trực tiếp những gì

raise SystemExit
2 làm đằng sau hậu trường và chạy:

raise SystemExit

Bằng cách này, bạn không cần nhập

raise SystemExit
3 trước.

Tuy nhiên, sự lựa chọn này chỉ đơn giản là một phong cách và hoàn toàn tùy thuộc vào bạn.

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

Mhsmith

5,8473 Huy hiệu vàng36 Huy hiệu bạc56 Huy hiệu Đồng3 gold badges36 silver badges56 bronze badges

Đã trả lời ngày 2 tháng 11 năm 2013 lúc 22:22Nov 2, 2013 at 22:22

10

Các hàm* quit(), exit()sys.exit() theo cùng một cách: chúng tăng ngoại lệ SystemExit. Vì vậy, không có sự khác biệt thực sự, ngoại trừ sys.exit() luôn có sẵn nhưng exit()quit() chỉ khả dụng nếu mô -đun

>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
2 được nhập (tài liệu).

Hàm os._exit() là đặc biệt, nó thoát ra ngay lập tức mà không gọi bất kỳ chức năng làm sạch nào (ví dụ như không có bộ đệm xả). Điều này được thiết kế cho các trường hợp sử dụng chuyên dụng cao ... về cơ bản, chỉ ở trẻ sau cuộc gọi

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit()
$
8.

Sự kết luận

  • Sử dụng exit() hoặc quit() trong phần lại.

  • Sử dụng sys.exit() trong tập lệnh hoặc quit()2 nếu bạn thích.

  • Sử dụng os._exit() cho các quy trình trẻ em để thoát sau cuộc gọi đến

    >>> exit
    Use exit() or Ctrl-D (i.e. EOF) to exit
    >>> exit()
    $
    
    8.

Tất cả những điều này có thể được gọi mà không có đối số hoặc bạn có thể chỉ định trạng thái thoát, ví dụ: quit()5 hoặc quit()6 để thoát với trạng thái 1. Lưu ý rằng các chương trình di động bị giới hạn trong các mã trạng thái thoát trong phạm vi 0-255, nếu bạn quit()7 trên nhiều Các hệ thống Điều này sẽ bị cắt ngắn và quá trình của bạn sẽ thực sự thoát với trạng thái 0.

Chú thích

* Trên thực tế, quit()exit() là các đối tượng thể hiện có thể gọi được, nhưng tôi nghĩ rằng bạn có thể gọi chúng là các chức năng.

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

DJVG

9.3064 Huy hiệu vàng58 Huy hiệu bạc91 Huy hiệu Đồng4 gold badges58 silver badges91 bronze badges

Đã trả lời ngày 2 tháng 11 năm 2013 lúc 22:22Nov 2, 2013 at 22:22

Các hàm* quit(), exit()sys.exit() theo cùng một cách: chúng tăng ngoại lệ SystemExit. Vì vậy, không có sự khác biệt thực sự, ngoại trừ sys.exit() luôn có sẵn nhưng exit()quit() chỉ khả dụng nếu mô -đun

>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
2 được nhập (tài liệu).Dietrich Epp

Hàm os._exit() là đặc biệt, nó thoát ra ngay lập tức mà không gọi bất kỳ chức năng làm sạch nào (ví dụ như không có bộ đệm xả). Điều này được thiết kế cho các trường hợp sử dụng chuyên dụng cao ... về cơ bản, chỉ ở trẻ sau cuộc gọi

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit()
$
8.36 gold badges336 silver badges411 bronze badges

Sự kết luận

os._exit():

  • Sử dụng exit() hoặc quit() trong phần lại.

exit()1:

  • Sử dụng sys.exit() trong tập lệnh hoặc quit()2 nếu bạn thích.

quit()5:

  • Sử dụng os._exit() cho các quy trình trẻ em để thoát sau cuộc gọi đến
    >>> exit
    Use exit() or Ctrl-D (i.e. EOF) to exit
    >>> exit()
    $
    
    8.

sys.exit():

  • Tất cả những điều này có thể được gọi mà không có đối số hoặc bạn có thể chỉ định trạng thái thoát, ví dụ: quit()5 hoặc quit()6 để thoát với trạng thái 1. Lưu ý rằng các chương trình di động bị giới hạn trong các mã trạng thái thoát trong phạm vi 0-255, nếu bạn quit()7 trên nhiều Các hệ thống Điều này sẽ bị cắt ngắn và quá trình của bạn sẽ thực sự thoát với trạng thái 0.

quit():

  • Chú thích

* Trên thực tế, quit() và exit() là các đối tượng thể hiện có thể gọi được, nhưng tôi nghĩ rằng bạn có thể gọi chúng là các chức năng.

DJVG

9.3064 Huy hiệu vàng58 Huy hiệu bạc91 Huy hiệu Đồng

Dietrich Eppdietrich Epp

199K36 Huy hiệu vàng336 Huy hiệu bạc411 Huy hiệu Đồng

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

Phương tiện khác nhau để thoátNov 2, 2013 at 22:10

3

raise SystemExit
2 là cách kinh điển để thoát.

Trong nội bộ

raise SystemExit
2 chỉ tăng SystemExit. Tuy nhiên, gọi
raise SystemExit
2is đó là thành ngữ hơn so với việc nâng SystemExit trực tiếp.

sys.exit()6 là một cuộc gọi hệ thống cấp thấp thoát ra trực tiếp mà không gọi bất kỳ trình xử lý dọn dẹp nào.

>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
0 và
>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
6 chỉ tồn tại để cung cấp một cách dễ dàng ra khỏi dấu nhắc Python. Đây là dành cho người dùng mới hoặc người dùng đã vô tình nhập dấu nhắc Python và không muốn biết đúng cú pháp. Họ có khả năng thử gõ
>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
6 hoặc
>>> print (exit)
Use exit() or Ctrl-Z plus Return to exit
>>>
0. Mặc dù điều này sẽ không thoát khỏi thông dịch viên, nhưng ít nhất nó cũng đưa ra một thông điệp cho họ biết:

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit()
$

Đây thực chất chỉ là một bản hack sử dụng thực tế là trình thông dịch in os._exit()1 của bất kỳ biểu thức nào bạn nhập tại dấu nhắc.

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

Đã trả lời ngày 3 tháng 11 năm 2013 lúc 9:02Nov 3, 2013 at 9:02

Hướng dẫn should i use quit python? - tôi có nên sử dụng bỏ python không?

OEFEOEFEoefe

18.7K7 Huy hiệu vàng46 Huy hiệu bạc66 Huy hiệu Đồng7 gold badges46 silver badges66 bronze badges

Tại sao chúng ta sử dụng thoát () python?

Phương thức _Exit () trong Python được sử dụng để thoát khỏi quá trình với trạng thái được chỉ định mà không gọi trình xử lý dọn dẹp, bộ đệm Stdio Flushing, v.v. Lưu ý: Phương pháp này thường được sử dụng trong quy trình con sau hệ điều hành.fork () cuộc gọi hệ thống.Cách tiêu chuẩn để thoát khỏi quá trình là SYS.to exit the process with specified status without calling cleanup handlers, flushing stdio buffers, etc. Note: This method is normally used in the child process after os. fork() system call. The standard way to exit the process is sys.

Bạn có thể sử dụng bỏ () trong python không?

Có.Python có bốn phương thức chúng ta có thể sử dụng để thoát một chương trình. Họ đang thoát (), thoát (), sys.exit () và hệ điều hành. Python has four methods we can use to exit a program. They are quit(), exit(), sys. exit(), and os.

Sự khác biệt giữa thoát () và thoát () trong Python là gì?

Các hàm* thoát (), thoát () và sys.exit () hàm theo cùng một cách: họ nâng ngoại lệ SystemExit.Vì vậy, không có sự khác biệt thực sự, ngoại trừ việc sys.exit () luôn có sẵn nhưng thoát () và thoát () chỉ khả dụng nếu mô -đun trang web được nhập.* quit(), exit(), and sys. exit() function in the same way: they raise the SystemExit exception. So there is no real difference, except that sys. exit() is always available but exit() and quit() are only available if the site module is imported.

Làm thế nào để bạn bảo Python dừng lại?

Để dừng thực thi mã trong Python, trước tiên bạn cần nhập đối tượng SYS.Sau đó, sau đó bạn có thể gọi phương thức EXIT () để dừng chương trình chạy.call the exit() method to stop the program from running.