Как изменить рабочий каталог в Python

How Change Working Directory Python



Рабочий каталог - это текущий каталог, в котором мы работаем и из которого запускается скрипт; в этом каталоге у нас есть доступ ко многим файлам (тем, что находятся в нем). Однако иногда нам нужно менять каталоги и перемещаться между файлами и папками. В этом руководстве мы узнаем, как изменить рабочий каталог в Python.

МОДУЛЬ ОС

В первую очередь, для этого нам понадобится модуль os в Python. Поскольку он предустановлен, ничего устанавливать не нужно. Модуль ОС обычно используется в Python для взаимодействия, управления и изменения файлов и папок в системе. Например, мы можем создавать / удалять каталоги, изменять рабочие каталоги, файлы пошагового руководства, проверять, существуют ли файлы и т. Д.… Само собой разумеется, что это очень полезный модуль.







Получение текущего рабочего каталога

Чтобы получить текущий рабочий каталог, мы используем getcwd () метод из модуля os. Обратите внимание, что здесь аргумент не передается. В моем случае результат был / главная / кальяни / PycharmProjects / pythonProject1 на машине Ubuntu (работает PyCharm). Это означает, что основной скрипт - main.py - находится в этой папке (pythonProject1). И заметьте, рабочий каталог, в первую очередь, папка!



Импортировать ты

# Получить текущий рабочий каталог

Текущий каталогзнак равно ты.getcwd()

Распечатать('Ваш текущий рабочий каталог -% s'% Текущий каталог)



Изменение текущего рабочего каталога

Изменить рабочий каталог легко с помощью метода chdir (), который принимает ровно один аргумент - путь к новому местоположению в виде строки.





Импортировать ты

# Получить текущий рабочий каталог

Текущий каталогзнак равно ты.getcwd()

Распечатать('Ваш текущий рабочий каталог -% s'% Текущий каталог)

Первое, что нужно сделать, это установить новый путь к рабочему каталогу. В Ubuntu это очень просто!

# установим новый рабочий каталог

new_working_directoryзнак равно '/ home / kalyani / Desktop / PythonDirectory'

В Windows вам нужно использовать двойную обратную косую черту для определения каталога.



#new_working_directory = 'C: \ Users \ never \ Desktop \ PythonDirectory'

Затем мы определяем предложение try-except. Если путь существует, мы будем использовать метод chdir () для изменения рабочего каталога на новый рабочий каталог. Если путь не является каталогом, будет выдана ошибка!

пытаться:

ты.чдир(new_working_directory)

Распечатать('Рабочий каталог был изменен!')

Распечатать('WD:% s'%ты.getcwd())


КромеNotADirectoryError:

Распечатать(«Вы не выбрали каталог».)


КромеFileNotFoundError:

Распечатать('Папка не найдена. Путь неверен.)


КромеPermissionError:

Распечатать(«У вас нет доступа к этой папке / файлу».)

Полный код будет выглядеть так:

Импортировать ты

# Получить текущий рабочий каталог

Текущий каталогзнак равно ты.getcwd()

Распечатать('Ваш текущий рабочий каталог -% s'% Текущий каталог)

# установим новый рабочий каталог

#new_working_directory = '/ home / kalyani / Desktop / PythonDirectory'

new_working_directoryзнак равнор'C: Uобслуживать пКогда-либо DesktopПythonDirectory '

пытаться:

ты.чдир(new_working_directory)

Распечатать('Рабочий каталог был изменен!')

Распечатать('WD:% s'%ты.getcwd())


КромеNotADirectoryError:

Распечатать(«Вы не выбрали каталог».)


КромеFileNotFoundError:

Распечатать('Папка не найдена. Путь неверен.)


КромеPermissionError:

Распечатать(«У вас нет доступа к этой папке / файлу».)

Фактически, ошибки могут вызывать различные типы исключений:

я. NotADirectoryError:

Теперь предположим, что я написал следующий код для пути или нового рабочего каталога:

new_working_directoryзнак равно 'C:\Пользователи\никогда\Рабочий стол\PythonDirectory\text.txt '

Вы можете заметить, что я указываю путь к текстовому документу с именем text.txt. И последний вызовет ошибку, известную как NotADirectoryError. Другими словами, ваш путь должен указывать на какой-то каталог.

II. FileNotFoundError:

FileNotFoundError выдается, когда путь не существует. Итак, предположим на данный момент, что у меня нет каталога с именем PythonDirectory на моем рабочем столе и что я установил свой путь:

new_working_directoryзнак равно 'C: Uобслуживать пКогда-либо DesktopПythonDirectory '

Это бросит FileNotFoundError . Эта ошибка просто означает, что каталог, на который мы указываем, не существует или не был найден.

iii. PermissionError:

К PermissionError возникает, когда у пользователя нет соответствующих разрешений на изменение или доступ к выбранному каталогу.

iv. Ошибка синтаксиса:

Синтаксическая ошибка возникает, когда в пути есть синтаксическая ошибка. В Windows, если мы напишем, чтобы сказать:

new_working_directoryзнак равно 'C: Uобслуживать пКогда-либо DesktopПythonDirectory '

Выдается ошибка синтаксиса! Однако синтаксическую ошибку выявить гораздо сложнее, поскольку ее необходимо оценить, импортировать или выполнить. Таким образом, когда мы пишем блоки try-except, такую ​​ошибку сложнее поймать.

В Windows, чтобы избежать ошибок, путь можно записать одним из трех различных способов, чтобы не возникало ошибок:

Метод 1. В этом методе мы добавляем букву r перед тем, как указать строку.

new_working_directoryзнак равнор'C: Uобслуживать пКогда-либо DesktopПythonDirectory '

Метод 2: мы используем двойную обратную косую черту.

new_working_directoryзнак равно 'C:\Пользователи\никогда\Рабочий стол\PythonDirectory '

Метод 3: мы используем одинарную косую черту.

new_working_directoryзнак равно 'C: / Users / never / Desktop / PythonDirectory'

МОДУЛЬ ПУТИ

Мы также можем изменить рабочий каталог с помощью модуля пути. Сначала установите путь следующим образом (я также дал ссылку на модуль):

путь установки pip

(https: // pypi.org/ проект / путь /)

Далее пишем:

издорожкаИмпортироватьДорожка

Импортировать ты

Сначала давайте проверим текущий рабочий каталог с помощью модуля os и метода getcwd ().

# проверим текущий рабочий каталог

cwdзнак равно ты.getcwd()

Распечатать('Текущий рабочий каталог:% s'% cwd)

Распечатать('---------------------------------------------')

Затем установите путь к новому рабочему каталогу. В этом случае я решил установить пример на машине с Windows:

# установить путь к новому рабочему каталогу

новый_путьзнак равно 'C:\Пользователи\никогда\Рабочий стол\PythonDirectory '

Используйте Path (), чтобы изменить рабочий каталог. Path () принимает здесь только один аргумент: фактический путь к новому рабочему каталогу и использует метод chdir () для выполнения задачи.

# изменить рабочий каталог

Дорожка(новый_путь).чдир()

Еще раз проверьте, не был ли изменен рабочий каталог. И здесь, как видно на картинке, действительно изменилась рабочая директория!

# Перепроверьте рабочий каталог

# это было изменено?

cwdзнак равно ты.getcwd()

Распечатать('Новый рабочий каталог% s'% cwd)

Изменение рабочих каталогов - простая задача, и для нее требуется только один метод - метод chdir (путь). Однако, в зависимости от того, на каком компьютере вы работаете - Windows или Linux, вы должны быть осторожны при вводе пути в виде строки. При неправильном вводе может возникнуть ошибка!

Удачного кодирования!