2016-07-01 10 views
-1

Ich habe eine Datei mit dem Namen test.py.While-Loop-Terminal warten

test3 = 1000000000 
test = 0 
xtest = True 

def enable(): 
    while xtest: 
     test += 1 
     if test > test3: 
      test3 += test3 * 3 

Und eine Datei mit dem Namen testit.py.

import test 
test.enable() 

Wenn ich Python laufen lassen? Testit.py mein Terminal bleibt unbenutzt, wie kann ich Terminal warten vermeiden?

+2

Scheint wie Ihre Schleife wird für immer weiter ... Aber wenn das ist, was Sie wollen, können Sie wahrscheinlich 'python testit.py &' zu setzen der Job im Hintergrund (abhängig von deiner Shell). – mgilson

+2

Dies wird die gesamte CPU essen. Sie sollten in Erwägung ziehen, irgendwo einen Schlaf hinzuzufügen –

+0

Wenn Ihr Terminal nicht zu der Eingabeaufforderung zurückkehrt, wenn Sie erwarten, haben Sie ein Problem. – Jeremy

Antwort

1

Ich bin mir nicht sicher, was deine Frage ist, aber für mich sieht das wie eine Endlosschleife aus. xtest, die für das Stoppen der Schleife verantwortliche Variable, wird innerhalb der Schleife nie auf False gesetzt.

0

einfach ich möchte es im Hintergrund laufen sorry für mein Englisch ist nicht gut, wenn ich über Shell aktiviert werden soll, was muss ich tun?

import cmd 
import operator 
import test 


class Ec(cmd.Cmd): 
    prompt = "testshell$ " 
    intro = "Welcome to the testshell shell, type `help` to get started." 

    def do_test(self, line): 
     test.enable() 

    #function 
    #function 

    def do_help(self, line): 
     print """ 
       test - to enable it 
       +++++++++++++++++++ 



       """ 

if __name__ == "__main__": 
    Ec().cmdloop() 

, wenn ich es die oben laufen bekomme ich Willkommen in der Testshell-Shell, Typ help, um loszulegen. Testshell $, wenn es Test gibt immer noch wartet und nicht zum Shell-Menü zurückkehren

+0

Das sieht so aus, als sollte es Teil der Frage sein. Bitte lösche es als Antwort und bearbeite stattdessen die Frage, um zu erklären, was du machst und was falsch läuft. – Blckknght