Когато се занимавате с файлове в директории в Python, винаги е добра идея да използвате абсолютни пътеки. Ако обаче работите с относителни пътища, ще трябва да разберете концепцията на текущата работна директория и как да намерите или промените текущата работна директория. Абсолютният път указва местоположение на файл или директория, започвайки от основната директория, докато относителният път започва от текущата работна директория.
Когато стартирате скрипт на Python, текущата работна директория е настроена на директорията, от която се изпълнява скриптът.
Модулът os python осигурява преносим начин за взаимодействие с операционната система. Модулът е част от стандартната библиотека на Python и включва методи за намиране и промяна на текущата работна директория.
Получаване на текущата работна директория в Python #
The getcwd ()
метод на модула os в Python, връща низ, който съдържа абсолютния път на текущата работна директория. Върнатият низ не включва последния наклонен знак.
операционна система.getcwd ()
За да използвате методите на модула os, трябва да импортирате модула в горната част на файла.
По-долу е даден пример, показващ как се отпечатва текущата работна директория:
# Импортиране на модула os import os # Вземете текущата работна директория cwd = os.getcwd () # Отпечатай текущата работна директория print ("Текуща работна директория: 0".format (cwd)) # Отпечатайте вида на върнатия обект за печат ("os.getcwd () връща обект от тип: 0 ".формат (тип (cwd)))
Резултатът ще изглежда по следния начин:
Текуща работна директория: / home / linuxize / Desktop os.getcwd () връща обект от тип:
Ако искате да намерите директорията, в която се намира скриптът, използвайте операционна система.път.реална пътека (__ файл__)
. Той ще върне низ, съдържащ абсолютния път към работещия скрипт.Промяна на текущата работна директория в Python #
За да промените текущата работна директория в Python, използвайте chdir ()
метод.
операционна система.getcwd (път)
Методът приема един аргумент, пътят до директорията, към която искате да промените. The път
аргументът може да бъде абсолютен или относителен.
Ето пример:
# Импортиране на модула os import os # Отпечатване на текущата работна директория print ("Текуща работна директория: 0".формат (os.getcwd ())) # Променете текущата работна директория os.chdir ('/ tmp') # Отпечатай текущата работна директория print ("Текуща работна директория: 0".формат (os.getcwd ()))
Резултатът ще изглежда по следния начин:
Текуща работна директория: / home / linuxize / Desktop Текуща работна директория: / tmp
Аргументът, предоставен на chdir ()
методът трябва да е директория, в противен случай NotADirectoryError
повдига се изключение. Ако посочената директория не съществува, a FileNotFoundError
повдига се изключение. Ако потребителят, под който се изпълнява скриптът, няма необходимите разрешения, a PermissionError
повдига се изключение.
# Импортиране на модула os import os path = '/ var / www' try: os.chdir (path) print ("Текуща работна директория: 0".формат (os.getcwd ())) с изключение на FileNotFoundError: print ("Директория: 0 не съществува".format (path)) освен NotADirectoryError: print ("0 не е директория".format (path)) с изключение на PermissionError: print ("Нямате разрешения за промяна на 0".формат (път))
Заключение №
За да намерите текущата работна директория в Python, използвайте операционна система.getcwd ()
, и за да промените текущата работна директория, използвайте операционна система.chdir (път)
.
Ако имате въпроси или отзиви, не се колебайте да оставите коментар.