Kod wychwytujący słowa w input (Python3.7)

Kod wychwytujący słowa w input (Python3.7)
IM
IM
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:15
0

No więc witam przychodzę dzisiaj z takim oto zapytaniem czy ktoś podałby mi kod który by działał na zasadzie znajdywania słów które wpisuje się w tej zmiennej

Kopiuj
import os
command1 = "cls"
command2 = "echo test"
command3 = "color c"
os.system(command3)
os.system(command1)
input()

chodzi o to co zrobić dalej by po wpisaniu w input ,,echo test" odpalała się zmienna command2 z góry dziękuję za odpowiedz

Pyxis
  • Rejestracja:ponad 7 lat
  • Ostatnio:około godziny
1

Od wersji 3:

Kopiuj
import os
os.system(input("Write a command: "))
os.system(input("Write another command: "))
IM
IneedMercyHelp
Super!!!, i jeszcze jedno jak dodać niestandardowe komendy np zamiast cls wpisywało by się clear a odpalało by się cls...Ale to jakbyś miał czas
SI
Z clear zamiast cls i podobnymi to najlepiej chyba w jakiś słownik iść. Po wczytaniu albo tam jest i os.system(słownik[polecenie]), albo brak i wtedy os.system(polecenie).
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
3

Ja bym jednak mimo wszystko matchował to z jakąś predefiniowaną listą, bo nie chcesz zeby ktoś ci tam wpisał rm -rf / jakieś :)


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
phpseven
Ale w Pythonie widać kod, gorzej jak w pakietach instalowanych przez pip3 było kiedyś malware, a ostatnio spotkało to użytkowników Ruby. Znalazło się aż 11 pakietów zainfekowanych, które roznosiły tak swój szkodliwy kod. Samo instalowanie takich menadżerów pakietów jak pip, npm jest dość ryzykowne.
Pyxis
  • Rejestracja:ponad 7 lat
  • Ostatnio:około godziny
1

jak dodać niestandardowe komendy np zamiast cls wpisywało by się clear a odpalało by się cls...

Możesz to zrobić tak, jak napisał @sig:

Kopiuj
import os

aliases = {
    'clean' : 'cls',
    'clear' : 'cls',
    'erase' : 'cls'
}

command = input("Write a command: ")

if command in aliases:
    os.system(aliases[command])
else:
    print(f'{command} command not found')

Jeśli komenda nie została zdefiniowana w słowniku, to nie zostanie ona wykonana. Zabezpiecza Cię to przed tym, o czym wspomniał @Shalom.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.