Il giorno mer 8 apr 2020 alle ore 08:16 Matteo Perini < perini.mat...@gmail.com> ha scritto:
> Ciao a tutti, > > ho un problemino con il comportamento di argparse. > > Sto facendo delle prove con questo script di test: > > if __name__ == "__main__": > parser = argparse.ArgumentParser() > parser.add_argument("-t", "--text", default = 'ci\nao', type=str) > args = parser.parse_args() > text = args.text > for line in text.split('\n'): > print(line) > > Se eseguo lo script senza argomenti il risultato è quello atteso: > > ci > > ao > > Il "\n" viene interpretato correttamente. > > Se però eseguo lo script mettendo come argomento -t "ci\nao" il > risultato è: > > ci\nao > problema che riesco a risolvere convertendo text così: > > text = bytes(args.text, "utf-8").decode("unicode_escape") > > a questo punto ottengo di nuovo l'andata a capo. > > > Ultimo caso, se l'utente non mette le virgolette e scrive -t ci\nao il > risultato di args.text è: > > cinao > > mi toglie solo la "\" e a questo punto io non so più come trattarlo. > > Che voi sappiate c'è un modo per controllare se un argomento ha le > virgolette o no. > > Oppure trattare l'input sempre come raw? > > Penso sia un problema che potrebbe essere piuttosto comune ma non ho > trovato soluzioni online. > > Ciao > se vuoi i parametri raw import sys print(sys.argv) ciao, Marco
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python