Topic: Gestione dei caratteri con le stringhe python 3  (Letto 18 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Pasquale

  • python unicellularis
  • *
  • Post: 1
  • Punti reputazione: 0
    • Mostra profilo
Gestione dei caratteri con le stringhe python 3
« il: Aprile 12, 2019, 17:01 »
Salve a tutti ragazzi,
sto sviluppando un progamma che deve aprire un file che si trova in un percorso sull'hard-disk che prevede una parola lunga con un carattere con l'accento, ma non riesco a memorizzarla in una stringa e mi da errore:

percorso="E:\Dropbox\Contabilità\2019\Ft 5 Formamente.pdf"
print(percorso)
attachement = open(filename,'rb')

mi da errore, perchè la stringa stampata è: 

E:\Dropbox\Contabilità9\Ft 5 Formamente.pdf

Come mai? come faccio a gestire questa stringa?

Saluti

Offline bebo

  • python erectus
  • ***
  • Post: 205
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Gestione dei caratteri con le stringhe python 3
« Risposta #1 il: Aprile 12, 2019, 17:47 »
Ciao Pasquale, benvenuto!

Se fai un:
import os
print([d for d in os.listdir("E:/Dropbox/") if d.startswith("contabilit")])

dovresti vedere il nome corretto con cui identificare il percorso.

La cosa di sicuro piu' semplice pero' e' rinominare la cartella (o craerne un link simbolico, se esistono su windows).
E personalmente sconsiglio di mettere spazi nei nomi di directory e file (pero' forse e' una mia fissa da linux user).

PS: nei percorsi usa sempre lo slash / invece del backslash \ come invece fa windows, perche' se hai qualcosa che inizia ad es con n o t devi farne l'escape, e diventa scomodo.
Ad es: 'E:\nuova_cartella\' non funzionerebbe perche' \n diventa il carattere "a-capo"/invio, e \t il tab, etc. E allora bisogna raddoppiare il backslash \\n oppure usare una raw string r'E:\nuova'.
Windows supporta l'accesso con lo slash, quindi conviene usarlo quando si inseriscono percorsi a mano.
« Ultima modifica: Aprile 12, 2019, 17:51 da bebo »