Czy istnieje prosty sposób na podniesienie jednego katalogu w pythonie za pomocą pojedynczego wiersza kodu? Coś podobnego do cd ..
w wierszu poleceńPrzenoszenie jednego katalogu w Pythonie
Odpowiedz
>>> import os
>>> print os.path.abspath(os.curdir)
C:\Python27
>>> os.chdir("..")
>>> print os.path.abspath(os.curdir)
C:\
użyć modułu os
:
import os
os.chdir('..')
powinien działać
Oczywiście że os.chdir ('..') jest prawidłowa odpowiedź tutaj. Ale tylko dla FYI, jeśli w przyszłości natkniesz się na sytuacje, gdy musisz w znacznym stopniu manipulować katalogami i ścieżkami, oto świetny pakiet (Unipath), który pozwala traktować je jako obiekty Pythona: https://pypi.python.org/pypi/Unipath
dzięki czemu możesz zrobić coś tak:
>>> from unipath import Path
>>> p = Path("/usr/lib/python2.5/gopherlib.py")
>>> p.parent
Path("/usr/lib/python2.5")
>>> p.name
Path("gopherlib.py")
>>> p.ext
'.py'
W python3.4 wprowadzono * pathlib *, który miał rozwiązać ten sam problem (więcej informacji na ten temat można znaleźć w mojej odpowiedzi). – Kim
Cóż .. Nie jestem pewien, jak naprawdę przenośne os.chdir ("..") byłoby. W systemie Unix są to prawdziwe nazwy plików. Wolałbym następujące:
import os
os.chdir(os.path.dirname(os.getcwd()))
Który pobiera bieżący katalog roboczy, krok do jednego katalogu, a następnie zmienia się do tego katalogu.
również, z nieco mniejszym pisaniem, 'os.chdir (os.path.pardir)'. Ta odpowiedź jest nieco bardziej niezależna od platformy, ale jest to kwestia sporna, ponieważ można sobie wyobrazić platformę, która nie reprezentuje ".." jako katalogu nadrzędnego, żadnej platformy, z której obecnie korzysta każdy użytkownik (w tym zarówno okna, jak i UNIX) reprezentują to w ten sposób. – aestrivex
Tak, masz rację! Właśnie skończyłem testowanie go na oknie Windows, a '..' działa dobrze. Zawsze tak mało oczekuję okien, ale czasami mnie to zaskakuje :). Mimo to magiczne struny zaśmiecające mój kod zawsze przeszkadzają mi. – aychedee
Zgadzam się, ale po prostu zastanawiam się: Zastanawiam się, czy * kiedykolwiek * będzie prawdziwym systemem, który nie używa tej konkretnej konwencji. – aestrivex
W Pythonie 3.4 pathlib wprowadzono:
>>> from pathlib import Path
>>> p = Path('/etc/usr/lib')
>>> p
PosixPath('/etc/usr/lib')
>>> p.parent
PosixPath('/etc/usr')
Jest również wyposażony w wiele innych przydatnych funkcji np do łączenia ścieżek za pomocą ukośników lub łatwego chodzenia po drzewie katalogów.
Aby uzyskać więcej informacji, zapoznaj się z docs lub this post, która obejmuje różnice między os.path i pathlib.
- 1. Przenoszenie piramidy w Pythonie
- 2. Przenoszenie plików do katalogu
- 3. Przenoszenie/migracja całego katalogu w Magento
- 4. Git rebase i przenoszenie katalogu w submodule
- 5. przenoszenie bajtów z jednego ByteBuffer na inny
- 6. przenoszenie linii z jednego okna do drugiego
- 7. Przenoszenie wszystkich plików z jednego katalogu do drugiego przy użyciu Python
- 8. Przenoszenie plików w C#
- 9. Sortowanie liter jednego napisu tekstowego w Pythonie?
- 10. Zastępowanie jednego znaku ciągu w pythonie
- 11. Pisząc do nowego katalogu w Pythonie bez zmiany katalogu
- 12. Dołącz całego katalogu w Pythonie data_files setup.py
- 13. Jak "spisać spec" jednego katalogu, np. modele?
- 14. Python: Compute względna ścieżka z jednego katalogu do innego
- 15. Skopiuj zawartość jednego katalogu do innego
- 16. Przenoszenie plików z jednego rozwiązania Visual Studio na inny
- 17. Przenoszenie obiektów z jednego unordered_map do innego kontenera
- 18. Przenoszenie obszaru roboczego Eclipse z ~ do nowego katalogu?
- 19. Przeniesienie folderu z jednego katalogu do drugiego w skrypcie wsadowym
- 20. Jak przenosić obrazy w iOS z jednego katalogu do drugiego?
- 21. Zipping wszystko w katalogu z 7z z wyjątkiem jednego pliku lub jednego typu plików
- 22. Przenoszenie plików pod pytonem
- 23. Jak importować z pliku w bieżącym katalogu w Pythonie 3?
- 24. Przenoszenie plików między folderami
- 25. Jak rozpoznać, z którego katalogu pochodzi importowana biblioteka w pythonie?
- 26. Jak uzyskać pełną ścieżkę do katalogu bieżącego pliku w Pythonie?
- 27. Elegancki sposób na pobranie nazwy katalogu w Pythonie?
- 28. Jak mogę uzyskać ścieżkę do katalogu% APPDATA% w Pythonie?
- 29. Jak mogę powiedzieć plik z katalogu w Pythonie?
- 30. Wyodrębnianie zawartości pliku ZIP do określonego katalogu w Pythonie 2.7
Pokonaj mnie! –
LOL - wiesz, jak się czujesz zbyt często :) Szybkość, z jaką pojawiają się tutaj odpowiedzi, czasami jest szalona - przysięgam, że niektórzy ludzie żyją na SO! –