Как узнать текущую директорию python
Перейти к содержимому

Как узнать текущую директорию python

  • автор:

Зачем нужна команда pwd и что такое текущая рабочая директория

Зачем нужна команда pwd и что такое текущая рабочая директория главное изображение

Из этой статьи вы узнаете, как определить текущую рабочую директорию (current working directory) с помощью команды pwd.

  • Что такое текущая рабочая директория
  • Команда pwd
  • Как найти текущую рабочую директорию
  • Заключение

Что такое текущая рабочая директория

Текущая рабочая директория — директория, в которой пользователь работает в данный момент. При взаимодействии с командной строкой вы всегда находитесь внутри директории.

По умолчанию, когда вы запускаете операционную систему Linux, текущим рабочим каталогом является домашняя директория. Изменить рабочую директорию можно с помощью команды cd.

Например, чтобы изменить текущую рабочую директорию на /tmp, используйте такую команду:

cd /tmp 

Путь к текущей рабочей директории может отображаться в оболочке командной строки.

Команда pwd выводит текущую рабочую директорию. Это одна из базовых и самых популярных команд в Linux. При вызове pwd выводится полный путь к текущей рабочей директории.

Команда pwd встроена в большинство современных командных оболочек, в том числе в Bash. Её поведение отличается от выполнения /bin/pwd. С помощью команды type можно получить все места, где есть pwd:

type -a pwd 
pwd is a shell builtin pwd is /bin/pwd 

Как показывает вывод, встроенная команда pwd имеет более высокий приоритет по сравнению с /bin/pwd. Поэтому она используется всякий раз, когда вы вводите в командую строку pwd. Если вы хотите использовать файл /bin/pwd, нужно указать в командной строке полный путь до него.

Как найти текущую рабочую директорию

Чтобы понять, в какой директории вы работаете в данный момент, введите в терминале pwd. Вывод может выглядеть так (название директории может отличаться):

Всё, что делает команда pwd — выводит значение переменной окружения PWD. Такой же вывод получится, если ввести в терминале:
echo $PWD 

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

Команда pwd принимает только два аргумента:

  • -L (—logical) — не разрешать симлинки.
  • -P (—physical) — отображать физическую директорию без симлинков.

По умолчанию pwd ведёт себя так, как будто применена опция -L.

Чтобы понять, как работает аргумент -P, создадим директорию и симлинк, указывающий на эту директорию.

mkdir /tmp/directory ln -s /tmp/directory /tmp/symlink 

Когда вы зайдёте в директорию /tmp/symlink и введёте команду pwd, вывод будет таким:

То есть текущей рабочей директорией становится /tmp/symlink. Если ввести команду pwd -P, вывод будет таким:

Симлинк (англ. Symlink, symbolic link) — символическая ссылка. Этим термином обозначают файл, в котором содержится абсолютный или относительный путь к другому файлу или директории.

То есть получаем директорию, на которую указывает симлинк.

Заключение

Текущая рабочая директория — директория, из которой вы вызываете команды в терминале. Чтобы отобразить текущую рабочую директорию, нужно использовать команду pwd. Если у вас остались вопросы, добро пожаловать в комментарии.

Адаптированный перевод статьи Pwd Command in Linux (Current Working Directory) by Linuxize.

Бесплатные курсы по программированию в Хекслете

  • Освойте азы современных языков программирования
  • Изучите работу с Git и командной строкой
  • Выберите себе профессию или улучшите навыки

Как узнать текущую директорию python

Запись: and-semakin/mytetra_data/master/base/1525431554urk90zgb33/text.html на raw.githubusercontent.com

Получить путь до папки со скриптом:

Получить путь к рабочей директории:

  • Закодировать файл в base64 на Python
  • Рекурсивное создание директорий в Python
  • Сортировка в Python
  • Правильно добавить год/месяц к дате в Python
  • Отформатировать дату в Python
  • Получить рабочую директорию и директорию со скриптом в Python
  • Копия объекта в Python
  • Время выполнения программы на Python
  • Конвертировать datetime.timedelta в строку
  • Парсинг даты в Python
  • Конвертировать строку (str) в булевый тип (bool) в Python
  • Получить местный часовой пояс в Python
  • Проверить, что строка соответствует регулярному выражению в Python
  • Просмотреть доступные версии модулей в PIP
  • Получить целочисленный Unix timestamp в Python
  • getter и setter в Python
  • Настроить формат вывода логов в Python
  • Получить переменную окружения в Python
  • Обновить пакет в PIP
  • Получить имя (хостнейм) машины из Python
  • Вывести стэк вызовов при возникновении исключения в Python
  • Функция eval в Python
  • Дозаписывать (append) в файл в Python
  • Препроцессинг кода в Python
  • Проверить, что программа установлена из Python
  • Настроить путь для импорта библиотек в Python
  • Получить размер терминала в символах в Python
  • Enum с дополнительными полями в Python
  • Ошибка invalid command ‘bdist_wheel’ при установке пакета через PIP
  • Получить список аргументов функции из Python
  • Сделать словарь только для чтения в Python
  • Заматчить любой символ, включая перевод строки, в регулярных выражениях на Python
  • Получить список файлов в директории через pathlib в Python
  • Вывести действительное число с округлением до нескольких символов после запятой в Python
  • Вывод в терминал текста с цветами в Python
  • Перезагрузить импортированный модуль в Python
  • Безопасно создать список/словарь/любой объект из строкового представления в Python
  • Аналог декоратора @property для методов класса в Python
  • Перехватить ошибку TimeoutError в asyncio
  • Отключить вывод логов в Python
  • Уровни логгирования в Python
  • Удалить *.pyc и __pycache__ файлы
  • Выгрузить объект в JSON в Unicode в Python
  • Конвертировать datetime в другую часовую зону в Python
  • Дополнить строку нулями в Python
  • Вычислить MD5 от строки в Python
  • Удалить знаки пунктуации из строки в Python
  • Проверить, что первая буква в строке — заглавная, в Python
  • Разбить (split) строку по нескольким разделителям в Python
  • Отсортировать версии в Python
  • Распаковать любой архив в Python
  • Получить имя текущего скрипта на Python
  • Установка pip на Python 2.6
  • Отличить печатаемый символ Unicode от непечатаемого на Python
  • Вывести версию интерпретатора Python в машиночитаемом виде
  • Найти место, куда Python устанавливает пакеты (dist-packages, site-packages)

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Как получить текущую директорию ?

#1 Март 4, 2009 17:50:33

Romann От: Зарегистрирован: 2009-03-04 Сообщения: 2 Репутация: 0 Профиль Отправить e-mail

Как получить текущую директорию ?

Привет всем!
Как получить текущую директорию ?
не бейте меня сильно, но я не нашел поиском ответ

#2 Март 4, 2009 17:54:50

Lexander От: Зарегистрирован: 2008-09-19 Сообщения: 1139 Репутация: 33 Профиль Отправить e-mail

Как получить текущую директорию ?

Romann
но я не нашел поиском ответ

#3 Март 4, 2009 17:55:06

ZAN От: Зарегистрирован: 2007-06-10 Сообщения: 403 Репутация: 10 Профиль Отправить e-mail

Как получить текущую директорию ?

>>> import os
>>> os.curdir
'.'
>>> os.path.abspath(os.curdir)
'/home/alex/Projects'

#4 Март 4, 2009 18:15:49

Romann От: Зарегистрирован: 2009-03-04 Сообщения: 2 Репутация: 0 Профиль Отправить e-mail

Как получить текущую директорию ?

Спасибо всем за быстрый ответ.
ту Lexander я не совсем в ладах с инглишем и мой запрос выглядел немного по иному. наверное потому и не нашел.

#5 Март 4, 2009 18:17:04

asv13 От: Зарегистрирован: 2007-01-22 Сообщения: 130 Репутация: 0 Профиль Отправить e-mail

Как получить текущую директорию ?

про curdir я не знал

>>> import os
>>> os.getcwd()
'C:\\Python25'
>>> os.path.abspath(os.curdir)
'C:\\Python25'

#6 Март 4, 2009 21:43:12

Ferroman От: Зарегистрирован: 2006-11-16 Сообщения: 2759 Репутация: 1 Профиль Отправить e-mail

Как получить текущую директорию ?

Стас
Ты за 5 минут написал 3 ответа и все или неправильно или не в тему. Ты б, может, больше читал и поменьше писал? Пока что…

#7 Март 4, 2009 22:02:34

Ferroman От: Зарегистрирован: 2006-11-16 Сообщения: 2759 Репутация: 1 Профиль Отправить e-mail

Как получить текущую директорию ?

1. А во-вторых человек спрашивает «Как получить текущую директорию»
2. Во-первых ответ уже написали, дублировать смысла нет.

#8 Март 5, 2009 11:44:29

igor.kaist От: Зарегистрирован: 2007-11-12 Сообщения: 1879 Репутация: 3 Профиль Отправить e-mail

Как получить текущую директорию ?

Ferroman
, Стасу порекомендовали не писать в “профи”, вот он и переключился на этот раздел. Думаю, следующим шагом будет “флейм”

#9 Март 12, 2009 00:42:53

regall От: Киев Зарегистрирован: 2008-07-17 Сообщения: 1583 Репутация: 3 Профиль Отправить e-mail

Как получить текущую директорию ?

os.path.abspath(os.curdir)

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

import os
basepath = os.path.abspath(os.path.dirname(sys.modules[----модуль----.__module__].__file__))
filepath = os.path.join(basepath, 'question.pt')
ptf = open(filepath,'r')

в таком случае — через получение пути к модулю на диске (определить текущую папку)

#10 Март 12, 2009 01:38:02

Андрей Светлов От: Зарегистрирован: 2007-05-15 Сообщения: 3137 Репутация: 14 Профиль Адрес электронной почты

Как получить текущую директорию ?

Все даже веселее.
os.curdir == os.path.curdir == ‘.’
Т.е. просто строка. В отличие от os.getcwd()
os.path.abspath(…) Умеет по ней построить нечто более вразумительное. Но такой подход выглядит как-то нехорошо

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » cx_Freeze получить текущую директорию

#1 Март 2, 2011 15:27:42

diego От: Зарегистрирован: 2010-09-14 Сообщения: 78 Репутация: 0 Профиль Отправить e-mail

cx_Freeze получить текущую директорию

Добрый день!
При сборке экзешника следующий код

os.getcwd()
os.path.abspath(os.curdir)

при перемещении экзешника в директорию, отличную от той в которой была сделана сборка, возвращают
строку вида C:\Documents and Settings\Administrator

#2 Март 2, 2011 17:11:07

lavrton От: Зарегистрирован: 2010-11-13 Сообщения: 35 Репутация: 1 Профиль Адрес электронной почты

cx_Freeze получить текущую директорию

Текущая директория это так в которой лежит исполняемый файл?
В чем проблема не знаю, но можно попробовать так:

from os.path import dirname
import sys
print dirname(sys.argv[0])

#3 Март 3, 2011 14:04:27

diego От: Зарегистрирован: 2010-09-14 Сообщения: 78 Репутация: 0 Профиль Отправить e-mail

cx_Freeze получить текущую директорию

lavrton
Текущая директория это так в которой лежит исполняемый файл?
В чем проблема не знаю, но можно попробовать так:

from os.path import dirname
import sys
print dirname(sys.argv[0])

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *