2015-05-23 16 views
7

Esiste un modo corretto per mostrare i percorsi dei file (codificati) più lunghi di 79 caratteri (basati su pep8) su linee multiple o è meglio mantenere il percorso del file su una singola riga?Python - stringa lunga su più righe

Eg

photos = "D:\MyWork\FieldWork\Year2015\January\MountainPass\Area1\Site1\Campsite2\Inspections\photos1" 

sarebbe l'esempio precedente funziona meglio su più linee o una singola linea?

risposta

11

Io personalmente uso questo metodo, e l'ho visto usato nei materiali PEP8:

long_string = ('this is a really long string I want ' 
       'to wrap over multiple lines') 

Si può anche fare:

long_string = 'this is a really long string I want '\ 
       'to wrap over multiple lines' 

Secondo PEP8 si dovrebbe cercare di mantenere la larghezza massima di codice a 79 caratteri e generalmente docstrings e commenti a 72.

Mi raccomando anche di dare un'occhiata a os.path.

+0

Sì, ha funzionato con i miei percorsi di file - Grazie !! – TsvGis

+0

Per coloro che si chiedono, PEP raccomanda questo limite di caratteri perché è generalmente la larghezza di una mezza finestra; consentendo ai programmatori di aprire più finestre affiancate. –

+0

@ZachGates: che cos'è una mezza finestra? Le finestre dei terminali sono in genere 80x25 (o 80x24 o 80x50 o simili) e molti altri strumenti (come SO) sono impostati su una larghezza di 80 caratteri perché è uno standard vecchio e diffuso per il codice sorgente; Sono abbastanza sicuro che si stia adattando all'intera finestra il ragionamento alla base di PEP 8. E posso inserire circa 3,2 di finestre di terminale nel carattere predefinito sullo schermo del mio monitor (a schermo panoramico) con la risoluzione e la dimensione del carattere predefinite. – abarnert

-3

Probabilmente è meglio non avere percorsi di file codificati. Prendi in considerazione l'utilizzo di percorsi relativi o qualche altro metodo più robusto. A meno che tu non stia facendo uno script veloce da eseguire sul tuo computer da solo, nel qual caso non importa tanto su ciò che PEP8 vuole che tu faccia.

Per rispondere alla domanda in realtà, si potrebbe fare questo:

photos = "D:\MyWork\FieldWork\Year2015\January\MountainPass\\"+\ 
     "Area1\Site1\Campsite2\Inspections\photos1" 

O

photos = ("D:\MyWork\FieldWork\Year2015\January\MountainPass\\", 
    "Area1\Site1\Campsite2\Inspections\photos1") 
+1

L'aggiunta di '+' non è necessaria; non farà nulla o rallenterà leggermente le cose. Aggiungere la virgola non è solo inutile, ma in realtà infrange il codice; ti dà una tupla di due stringhe, invece di una singola stringa. – abarnert

Problemi correlati