Hướng dẫn how do i loop a python script forever? - làm cách nào để lặp lại một tập lệnh python mãi mãi?

Tôi có một tập lệnh nhỏ ngắt, chạy mã trong một khoảng thời gian [mặc định 1SEC], nó bơm ra một thông báo lên màn hình trong khi nó đang chạy và bẫy tín hiệu ngắt mà bạn có thể gửi với CTL-C:

#!/usr/bin/python3
from interruptableLoop import InterruptableLoop

loop=InterruptableLoop[intervalSecs=1] # redundant argument
while loop.ShouldContinue[]:
   # some python code that I want 
   # to keep on running
   pass

Khi bạn chạy tập lệnh và sau đó làm gián đoạn nó, bạn thấy đầu ra này, [các khoảng thời gian được bơm ra trên mỗi lần vượt qua của vòng lặp]:

[py36]$ ./interruptexample.py
CTL-C to stop   [or $kill -s SIGINT pid]
......^C
Exiting at  2018-07-28 14:58:40.359331

interruptableLoop.py::

"""
    Use to create a permanent loop that can be stopped ...

    ... from same terminal where process was started and is running in foreground: 
        CTL-C

    ... from same user account but through a different terminal 
        $ kill -2  
        or $ kill -s SIGINT 

"""
import signal
import time
from datetime import datetime as dtt
__all__=["InterruptableLoop",]
class InterruptableLoop:
    def __init__[self,intervalSecs=1,printStatus=True]:
        self.intervalSecs=intervalSecs
        self.shouldContinue=True
        self.printStatus=printStatus
        self.interrupted=False
        if self.printStatus:
            print ["CTL-C to stop\t[or $kill -s SIGINT pid]"]
        signal.signal[signal.SIGINT, self._StopRunning]
        signal.signal[signal.SIGQUIT, self._Abort]
        signal.signal[signal.SIGTERM, self._Abort]

    def _StopRunning[self, signal, frame]:
        self.shouldContinue = False

    def _Abort[self, signal, frame]:
        raise 

    def ShouldContinue[self]:
        time.sleep[self.intervalSecs]
        if self.shouldContinue and self.printStatus: 
            print[ ".",end="",flush=True]
        elif not self.shouldContinue and self.printStatus:
            print ["Exiting at ",dtt.now[]]
        return self.shouldContinue

Trong bài viết này, chúng tôi chỉ ra cách tạo ra một vòng lặp vô hạn trong Python.

Một vòng lặp vô hạn không bao giờ kết thúc; Nó không bao giờ thoát ra khỏi vòng lặp.

Vì vậy, bất cứ điều gì trong vòng lặp đều được thực thi mãi mãi, trừ khi chương trình bị chấm dứt.

Đối với một số tình huống nhất định, một vòng lặp vô hạn có thể là cần thiết.

Một cách rất cơ bản để tạo ra một vòng lặp vô hạn trong Python là sử dụng một câu lệnh WHIME.

Điều này diễn ra mãi mãi, trừ khi chương trình bị chấm dứt.

Vì vậy, đây là cách bạn có thể tạo một vòng lặp vô hạn trong Python.

Tài nguyên liên quan

Giới thiệu về Vòng lặp Python Infinite

Vòng lặp vô hạn trong Python là một vòng điều kiện lặp đi lặp lại liên tục được thực thi cho đến khi một yếu tố bên ngoài can thiệp vào luồng thực thi, như không đủ bộ nhớ CPU, một tính năng/ mã lỗi không thành công dừng thực thi hoặc một tính năng mới trong các hệ thống di sản khác khác mà Cần tích hợp mã. Một vài loại vòng lặp vô hạn trong Python bao gồm câu lệnh WHR, câu lệnh IF, câu lệnh tiếp tục và câu lệnh break.

Khi nào các vòng vô hạn cần thiết?

Vòng lặp vô hạn có thể hữu ích trong lập trình máy khách/máy chủ khi máy chủ cần chạy với tính liên tục để các chương trình máy khách có thể giao tiếp với chương trình máy chủ bất cứ khi nào cần thiết. Nó cũng có thể hữu ích nếu một kết nối mới cần được tạo. Có tiện ích của một vòng lặp trong một ứng dụng chơi game hoặc một ứng dụng trong đó chúng tôi nhập một số vòng lặp sự kiện chính, tiếp tục chạy cho đến khi người dùng chọn một hành động để phá vỡ vòng lặp vô hạn đó. Ngoài ra, nếu người ta phải chơi một trò chơi và mong muốn trò chơi được đặt lại sau mỗi phiên. Lặp lại là quá trình thực hiện một nhiệm vụ lặp đi lặp lại và các chương trình máy tính luôn thành thạo nghệ thuật này.

Làm thế nào chúng ta sẽ chạy một vòng lặp vô hạn do nhầm lẫn?

Đây là một chương trình rất đơn giản, nhưng Noobs chắc chắn có thể bỏ lỡ các bước cơ bản này và có một vòng lặp vô hạn chạy trong chương trình của họ.

Code:

Vì không có mã để tăng giá trị của số nguyên, nó sẽ tiếp tục in nó cho đến khi chúng tôi chấm dứt chương trình.

Output:

Vì vậy, để tránh vòng lặp không chủ ý, chúng tôi thêm dòng sau vào mã.

Code:

Và sau đó, số lượng các dòng xác định được in như dưới đây trong đầu ra.

Code:

Các loại tuyên bố trong & nbsp; Python Infinite Loop

Dưới đây là các loại tuyên bố khác nhau trong vòng lặp Python Infinity:

1. Trong khi tuyên bố trong & nbsp; Python Infinite Loop

Các vòng lặp cực kỳ mạnh mẽ, và chúng thực sự rất cần thiết, nhưng Vòng lặp vô hạn sôi sục như là cạm bẫy duy nhất. Python chỉ có hai loại vòng lặp ‘trong khi vòng lặp và‘ cho vòng lặp. Mặc dù Loop hoạt động chính xác như câu lệnh IF nhưng trong câu lệnh IF, chúng tôi chạy khối mã chỉ một lần, trong khi, trong một thời gian, chúng tôi nhảy trở lại cùng điểm từ nơi mã bắt đầu. Do đó lặp lại cho đến khi một điều kiện được thực hiện. Như chúng ta biết rằng các vòng là vô hạn hoặc có điều kiện. Python trong khi vòng lặp tiếp tục nhắc lại một khối mã được xác định bên trong nó cho đến khi một mong muốn cụ thể được đáp ứng. Vòng lặp trong khi có biểu thức boolean và mã bên trong vòng lặp được tiếp tục miễn là biểu thức boolean đúng.

Cú pháp của & nbsp; Trong khi tuyên bố::

while[expression]
statement[s]

Code:

Output:

Như chúng ta có thể thấy ở trên, vòng lặp trong khi sẽ tiếp tục chạy cho đến khi biểu thức boolean là đúng. Cần lưu ý rằng các câu lệnh được thực thi sau khi vòng lặp có thể là một dòng hoặc thậm chí một khối mã chứa nhiều dòng. Có một điều phải được hiểu rõ ràng. Rằng trong khi vòng lặp được kiểm soát nhập cảnh, có nghĩa là nó sẽ không bao giờ chạy nếu thử nghiệm ban đầu là sai.

Code:

Biểu thức trên là sai; Do đó không có gì sẽ được thực hiện trong đầu ra.

2. Sử dụng câu lệnh IF với vòng lặp trong khi

Chúng ta có thể áp đặt một tuyên bố khác trong vòng một thời gian và thoát ra khỏi vòng lặp. Chúng ta có thể sử dụng các câu lệnh điều khiển Python như ‘break và‘ tiếp tục. Việc phá vỡ được sử dụng như một tuyên bố điều khiển Python và ngay khi nó gặp phải, nó bỏ qua toàn bộ thực thi khối. Chúng ta có thể sử dụng câu lệnh IF-Else và sử dụng từ khóa Break để thoát ra khỏi vòng lặp trong khi trước khi hoàn thành điều kiện của vòng lặp trong khi.

3. Sử dụng tuyên bố phá vỡ

Dưới đây là một ví dụ sẽ minh họa những điều trên:

Code:

Output:

Do đó, chúng ta thấy ở đây rằng luồng của chương trình nhảy ra khỏi vòng lặp trước khi hoàn thành lần lặp thứ 10 và trong khi vòng lặp được chấm dứt và in trong bảng điều khiển.

4. Sử dụng tuyên bố tiếp tục

Tiếp tục được sử dụng như một tuyên bố kiểm soát. Ngay khi gặp phải tiếp tục, lần lặp hiện tại sẽ bị bỏ qua.

Code:

Output:

Chúng ta thấy trong đầu ra rằng các số được in từ 1 đến 9 ngoại trừ 4 vì đây là điều kiện cần phải bỏ qua trong chương trình. Vì vậy, việc lặp lại được bỏ qua và chúng tôi thấy chương trình tiếp tục cho đến khi điều kiện tiếp tục.

Trò chơi đầu hoặc đuôi

Dưới đây là một ví dụ về một trò chơi Toss bằng đồng xu ở Python, được tạo ra với sự giúp đỡ của Loop Loop. Đây là A & NBSP; Trò chơi dựa trên văn bản hoặc một ví dụ khác về cách sử dụng vòng lặp thời gian. Chúng tôi đang nhập lớp ngẫu nhiên ở đây và cũng sử dụng hàm input [] để người dùng đọc đầu vào. Nó chỉ là một mô phỏng đơn giản của việc lật các đồng tiền. Chúng tôi sẽ yêu cầu người dùng nhập ‘đầu, hoặc‘ đuôi. Một số liệu thống kê trò chơi đơn giản sẽ được áp dụng ở đây bằng cách tổng hợp số lượng đầu và đuôi xảy ra.

Code:

Output:

Đầu ra cuối cùng mà chúng tôi nhận được sau khi chúng tôi nhập các giá trị I, E ‘Heads, hoặc‘ Tails, như dưới đây:

Code:

Trong đoạn mã, chúng ta thấy rằng lớp ngẫu nhiên tạo ra các giá trị ngẫu nhiên hoặc ‘đầu, hoặc’ đuôi, vì chúng ta đã cung cấp các tùy chọn ở trên và lưu trữ chúng trong biến lật. Do đó, khi đầu vào của người dùng khớp với giá trị trong lật, thì một người thắng; nếu không một người thua, và trong khi vòng lặp tiếp tục chạy cho đến lúc đó. Một điều kiện thoát chỉ là khi ‘X, hoặc‘ X, được đưa ra làm đầu vào. Trong trường hợp đó, giá trị tính toán của lần lặp được in ra. Đây chỉ là một minh họa đơn giản của một trò chơi dựa trên văn bản được thực hiện bằng cách sử dụng một vòng lặp trong thời gian.

Sự kết luận

Khi con người thấy các nhiệm vụ lặp đi lặp lại nhàm chán, nó làm cho những nhiệm vụ đó khá dễ bị lỗi của con người. Do đó, các chương trình lặp lại có các tiện ích của chúng và phục vụ như một sự trợ giúp tuyệt vời trong nhiều ứng dụng cần thiết cho một vòng lặp để chạy vô hạn cho đến khi nó bị gián đoạn. Nhiều trò chơi dựa trên văn bản đơn giản có thể được tạo bằng cách sử dụng vòng lặp thời gian.

Bài viết đề xuất

Đây là một hướng dẫn cho Python Infinite Loop. Ở đây chúng tôi thảo luận về phần giới thiệu và các loại tuyên bố khác nhau cùng với việc thực hiện mã. Bạn cũng có thể & nbsp; xem qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm -

  1. Tuyên bố phá vỡ Python
  2. Python lồng nhau
  3. Bộ Python
  4. Các tính năng Python

Làm thế nào để bạn viết một vòng lặp vô hạn?

Để tạo một vòng lặp vô hạn, chỉ cần sử dụng đúng như điều kiện của bạn.Đúng là luôn đúng, vì vậy vòng lặp sẽ lặp lại mãi mãi.use true as your condition. true is always true, so the loop will repeat forever.

Vòng lặp vô tận trong Python là gì?

Vòng lặp vô hạn trong Python là một vòng điều kiện lặp đi lặp lại liên tục được thực thi cho đến khi một yếu tố bên ngoài can thiệp vào luồng thực thi, như không đủ bộ nhớ CPU, một tính năng/ mã lỗi không thành công dừng thực thi hoặc một tính năng mới trong các hệ thống di sản khác khác màCần tích hợp mã.a continuous repetitive conditional loop that gets executed until an external factor interferes in the execution flow, like insufficient CPU memory, a failed feature/ error code that stopped the execution, or a new feature in the other legacy systems that needs code integration.

Làm cách nào để giữ cho một kịch bản Python không chạy?

Sử dụng lịch trình để chạy tập lệnh Python liên tục trong nền.Trong Python, bạn có một thư viện có tên Lịch hoạt động như một trình lập lịch và cho phép bạn chạy tập lệnh hoặc chương trình trong Python liên tục.Hốt tức
Sử dụng thời gian.ngủ [] chức năng chạy tập lệnh nhiều lần ..

Bài Viết Liên Quan

Chủ Đề