2009-10-22 15 views

Odpowiedz

23

Zastosowanie os.pardir (co jest prawdopodobnie zawsze "..")

import os 
fobj = open(os.path.join(os.pardir, "filename"), "w") 
+2

będzie to działać zarówno w systemie Windows, jak i Linux? – nunos

+0

za pomocą os.pardir zajmie odpowiednią składnię katalogu nadrzędnego dla systemu operacyjnego, na którym aplikacja jest aktualnie uruchomiona. Tak, będzie działać zarówno w systemie Windows, jak i Linux. –

+0

Dzięki. To było szybkie! – nunos

0

Zależy, czy pracujesz w środowisku Unix lub Windows.

na oknach:

..\foo.txt 

na Unix jak OS:

../foo.txt 

trzeba upewnić się, że system operacyjny ustawia bieżącą ścieżkę poprawnie podczas swoich startów aplikacji. Wybierz odpowiednią ścieżkę i po prostu utwórz w niej plik.

+0

użyj os.path.join lub os.sep –

+0

Python zrozumie ukośnik w systemie Windows. – mob

+0

Nie jestem facetem pytona :-) –

7

Ludzie nie zdają sobie z tego sprawy, ale Python z przyjemnością zaakceptuje przekierowanie w przód nawet w systemie Windows. Działa to dobrze na wszystkich platformach:

fobj = open("../filename", "w") 
+1

Czy to jest oficjalna funkcja? Nie pamiętam, aby było to widoczne w dokumentacji, a os.path.join zawsze powodowało, że programista nie powinien polegać na "/" będącym separatorem ścieżek ... – EOL