2015-05-23 11 views
7

Czy istnieje poprawny sposób wyświetlania ścieżek plików (zakodowanych) dłuższych niż 79 znaków (w oparciu o pep8) na wielu liniach lub czy najlepiej jest trzymać ścieżkę pliku w jednym wierszu?Python - Długi ciąg na wielu liniach

Np

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

Czy powyższy przykład działa najlepiej na wielu liniach lub w jednym wierszu?

Odpowiedz

11

Ja osobiście skorzystać z tej metody, i widziałem to stosowane w materiałach PEP8:

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

Można również zrobić:

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

Według PEP8 należy starać się zachować maksymalną szerokość kodu do 79 znaków, a ogólnie docfikings i komentarze do 72.

Polecam również spojrzenie na os.path.

+0

Tak, to pracował z moich ścieżkach plików - Dzięki !! – TsvGis

+0

Dla tych, którzy się zastanawiają, PEP zaleca ten limit znaków, ponieważ generalnie jest to szerokość połowy okna; umożliwiając programistom otwieranie wielu okien obok siebie. –

+0

@ZachGates: Co to jest półokienka? Okna terminala mają zwykle wymiary 80 x 25 (lub 80 x 24 lub 80 x 50 lub podobne), a wiele innych narzędzi (takich jak SO) ma domyślnie szerokość 80 znaków, ponieważ jest to stary i powszechny standard dla kodu źródłowego; Jestem pewien, że pasuje to całe okno, to jest rozumowanie stojące za PEP 8. I mogę zmieścić około 3,2 terminala w domyślnej czcionce na moim (nowoczesnym ekranie panoramicznym) z domyślną rozdzielczością i rozmiarem czcionki. – abarnert

-3

Prawdopodobnie najlepiej nie mieć w ogóle mocno zakodowanych ścieżek plików. Rozważ użycie względnych ścieżek lub innej bardziej niezawodnej metody. O ile nie robisz tylko szybkiego skryptu do uruchomienia na komputerze sam, w takim przypadku nie ma znaczenia, co PEP8 chce zrobić.

Aby właściwie odpowiedzieć na pytanie, można to zrobić:

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

Albo

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

Dodawanie '+' jest niepotrzebne; albo nie zrobi nic, albo spowolni nieco. Dodanie przecinka nie jest tylko niepotrzebne, ale w rzeczywistości łamie kod; daje krotkę dwóch strun, zamiast pojedynczego ciągu. – abarnert