2010-10-10 17 views
19

Był dobry moduł, path.py, napisany przez Jasona Orendorffa. Jeśli dobrze pamiętam, była dyskusja na temat dodania jej do standardowej biblioteki, po czym zniknęła.Czy prawdziwy path.py powinien wstać?

Wygląda na to, że istnieje wiele przerostów pierwotnego. Mogę znaleźć do tej pory unipath, co wygląda jak forked path.py, another one i kilka innych według PyPI.

Ktoś ma doświadczenie z którąkolwiek z tych opcji? Czy jest jeden lepszy od drugiego pod względem funkcjonalności, konserwacji czy innych kryteriów? A może powinienem wybrać losowo?

(Przepraszam za cudaczny tytule. Po raz pierwszy udał się do „który path.py?”, Ale to było zbyt krótki na smak tak jest).

+8

Witam, nazywam się * jak * mam na imię * CO TO ... mam na imie path.py. –

+2

Dyskusja przerodziła się w PEP 355 (http://www.python.org/dev/peps/pep-0355/), która została ostatecznie odrzucona przez GvR (http://article.gmane.org/gmane.comp.python. devel/84061) –

+1

"odrzucony" - aby zacytować go dosłownie, "PEP 355 nie żyje". Dlaczego tak? Co ważniejsze, czy istnieje zastępcza PEP na lepsze? – n611x007

Odpowiedz

10

Ja również byłem fanem tego modułu od dłuższego czasu . This one wydaje się mieć najnowsze zatwierdzenia, a także być zgodne z oryginalną formą - która tak naprawdę najbardziej podoba mi się w różnych wersjach, które wypróbowałem. Instalowanych przy użyciu pip install path.py

zmienił: Wygląda jak Pythona 3.4 (i przeniesione do 2.7 PyPI), jest to standardowy moduł lib ścieżka nazywana pathlib. Nie jest tak rozległy, jak niektóre moduły ścieżek, ale korzysta z braku bałaganu i jest dobrze przemyślaną implementacją ścieżki, zachowując jedne z najlepszych jakości bazowych kilku bibliotek ścieżek, które są tam. Na szczególną uwagę zasługuje to, że obsługuje on różnice między różnymi ścieżkami systemu operacyjnego (Windows i Posix) i wydaje się być dobrym czystym narzędziem, które warto obejrzeć. Niezależnie od tego, czy ma on każdą cechę, jakiej można chcieć, czy nie (nie ma), to dobrze, że Python ma wreszcie dobrą, standardową implementację ścieżki.

+1

https://github.com/jaraco/path.py jest obecnie najbardziej konserwatywny. ma również nowe funkcje, takie jak http://stackoverflow.com/questions/169070/python-how-do-i-write-a-decorator-that-restores-the-cwd/14019583#14019583 – CharlesB

+1

Dobra uwaga - on jest naprawdę opiekun "path.py" na Pypi teraz. Zaktualizowałem swój post, aby odzwierciedlić różnicę. –

4

Wszystkie wentylatory path.py wstają!

Od Pythona 3.4 moduł zajmuje się ścieżkami, module pathlib. Opiera się on na PEP 428 i jest silnie zainspirowany naszą ukochaną ścieżką path.py, ale wydaje się przyjmować różne podejście, w szczególności na silnym rozróżnieniu między ścieżką systemu Windows a ścieżką Unix.

+0

To jest pozytywnie dobra wiadomość. Wielkie dzięki. –

+1

Ale mimo że został przeniesiony, nie chcą mieć nic wspólnego z Pythonem 2 (patrz [# 25 (wontfix)] (https://bitbucket.org/pitrou/pathlib/issue/25), a bajty kontra unicode i tak nie jest interoperacyjna).Także całe "udające bajty są unicode", a ich kodowanie "surrogateescape" sprawia, że ​​jest bardzo niesmaczny, jeśli mnie pytasz. – remram

Powiązane problemy