Pozdrav svima,
evo možda jedno pitanje koje će se činiti lako, ali ne mogu naći rješenje.
Znači imam program (ajmo ga nazvati test.py) koji ima ove dvije linije u sebi:
tekst = sys.argv[1:5]
led.show_message(tekst, transition = transitions.left_scroll)
Ovaj led.show_message ispisuje tekst. Ako ja pokrenem program s komandom "python test.py 1 2 4 4", on će ispisati na LED matrici 1 2 4 4 ...ali ako napišem "python test.py jedan dva cetiri cetiri" on će izbaciti grešku. Ako zamjenim
tekst = sys.argv[1:5]
s
tekst = sys.argv[1]
i upišem "python test.py jedan dva cetiri cetiri" on će ispisati jedan (slovima). Radi se o tome da mu ne mogu staviti da koliko ja upišem riječi nakon "test.py" da ih on ispiše na LED matricu. Ali ako napišem "python test.py "jedan dva cetiri cetiri"" on ce to ispisati zbog "" (vidi kao jedan argument). Ne znam kako da promijenim to da može string. Argparse ne razumijem baš, ako ima neki način da mi pomognete u svezi ovoga jer polagano ludim :)
Probao sam ove dvije linije isto ubaciti, ali ništa od toga:
sys.argv[1].decode("utf-8")
ili
unicode(sys.argv[1], 'utf-8')
Inače kada mi to bude radilo u terminalu, lako namjestim za ono što mi treba (preko php stranice). Evo video gdje normalno prihvaća brojeve -- https://db.tt/OY5pjhbc
Inače u PHP koristim ove linije za to :
<form action="" method="post"> Unesite tekst koji zelite da se prikaze na LED matrici <input type="text" name="tekstodabir"> <input type="submit" name="TekstOdabir" value="Posalji"> </form> <?php if (isset($_POST['TekstOdabir'])) { $text = $_POST["tekstodabir"]; session_start(); $_SESSION['tekstodabir'] = $text; exec('sudo python /var/www/max7219/examples/tekstbox.py '.$text); } ?>
Zato mi treba da on uhvati taj cijeli tekst, jer ne znam kako da mu prenesem .$text kao "tekst iz boxa". Zato ako netko ima neki savjet kako da on uhvati sve string argumente preko sys.arvg bio bih zahvalan