W porządku, więc stworzyłem program w Pythonie, który jest używany do wykonywania poleceń, takich jak data, godzina, wylogowanie itp. Używa danych wejściowych od użytkownika do wykonywania tych poleceń za pomocą wiersza poleceń (ponieważ używam systemu Windows), może działać podobnie w powłoce Mac OS lub Kali.

Więc jeśli użytkownik wprowadzi polecenie takie jak:

>>>date

Wynik będzie podobny do tego:

>>>The current date is: 12/18/19

Użyty tutaj kod to:

     input1=input("Your Input")
     if (input1=="date"):
     import os
     os.system('cmd /k "date"')

To, w tym samym oknie, w którym działa Python (C: \ Windows \ py.exe), wyświetla datę.

ALE

Następnie daje następujące informacje:

The current date is: Wed 12/18/2019
Enter the new date: (mm-dd-yy)

C:\WINDOWS\system32>

Ale nie chcę, aby ten program zakończył się po wyświetleniu mi daty, chcę, aby zapętlił się i poprosił mnie o ponowne wprowadzenie polecenia. ALE nawet po użyciu:

while True:

Powyżej, moduł, nie zapętla się i po prostu podaje to jako wyjście po dacie:

The current date is: Wed 12/18/2019
Enter the new date: (mm-dd-yy)  #when you press the Enter key, you get the following:

C:\WINDOWS\system32>

Czy jest na to jakieś rozwiązanie? To by mi bardzo pomogło! Dzięki!

0
battling_bugs 18 grudzień 2019, 22:20
Napisz pętlę w programie.
 – 
Scott Hunter
18 grudzień 2019, 22:24
 – 
wwii
18 grudzień 2019, 23:37

1 odpowiedź

while 1:
    input1=input("Your Input")
    if (input1=="date"):
        import os
        os.system('cmd /k "date"')

Możesz także dodać logikę zamykania programu, jeśli wejście jest zakończone, na przykład za pomocą break.

UWAGA : nie polecam ponownego importowania os wewnętrznej pętli, możesz zaimportować ją na zewnątrz i po prostu użyć os.system.

1
Alexander Santos 18 grudzień 2019, 22:26
Dziękuję, właściwie znalazłem inny sposób, tj. za pomocą modułu datetime, wypróbuję to i powiem! :)
 – 
battling_bugs
22 luty 2020, 21:38