Как узнать папку 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
При работе с файлами в каталогах в Python всегда рекомендуется использовать абсолютные пути. Однако, если вы работаете с относительными путями, вам необходимо понимать концепцию текущего рабочего каталога и то, как найти или изменить текущий рабочий каталог. Абсолютный путь указывает расположение файла или каталога, начиная с корневого каталога, а относительный путь начинается с текущего рабочего каталога.
Когда вы запускаете сценарий Python, в качестве текущего рабочего каталога устанавливается каталог, из которого выполняется сценарий.
Модуль os python обеспечивает переносимый способ взаимодействия с операционной системой. Модуль является частью стандартной библиотеки Python и включает методы поиска и изменения текущего рабочего каталога.
Получение текущего рабочего каталога в Python
Метод getcwd() модуля os в Python возвращает строку, содержащую абсолютный путь к текущему рабочему каталогу. Возвращенная строка не включает завершающий символ косой черты.
os.getcwd()
Чтобы использовать методы модуля os, вы должны импортировать модуль в верхней части файла.
Ниже приведен пример, показывающий, как распечатать текущий рабочий каталог:
# Import the os module import os # Get the current working directory cwd = os.getcwd() # Print the current working directory print("Current working directory: ".format(cwd)) # Print the type of the returned object print("os.getcwd() returns an object of type: ".format(type(cwd)))
Результат будет выглядеть примерно так:
Current working directory: /home/linuxize/Desktop os.getcwd() returns an object of type:
Если вы хотите найти каталог, в котором находится скрипт, используйте os.path.realpath(__file__) . Он вернет строку, содержащую абсолютный путь к запущенному скрипту.
Изменение текущего рабочего каталога в Python
Чтобы изменить текущий рабочий каталог в Python, используйте метод chdir() .
os.getcwd(path)
Метод принимает один аргумент — путь к каталогу, в который вы хотите перейти. Аргумент path может быть абсолютным или относительным.
# Import the os module import os # Print the current working directory print("Current working directory: ".format(os.getcwd())) # Change the current working directory os.chdir('/tmp') # Print the current working directory print("Current working directory: ".format(os.getcwd()))
Результат будет выглядеть примерно так:
Current working directory: /home/linuxize/Desktop Current working directory: /tmp
Аргумент, передаваемый методу chdir() должен быть каталогом, в противном случае NotADirectoryError исключение NotADirectoryError . Если указанный каталог не существует, возникает исключение FileNotFoundError . Если у пользователя, от имени которого выполняется сценарий, нет необходимых разрешений, возникает исключение PermissionError .
# Import the os module import os path = '/var/www' try: os.chdir(path) print("Current working directory: ".format(os.getcwd())) except FileNotFoundError: print("Directory: does not exist".format(path)) except NotADirectoryError: print(" is not a directory".format(path)) except PermissionError: print("You do not have permissions to change to ".format(path))
Выводы
Чтобы найти текущий рабочий каталог в Python, используйте os.getcwd() , а для изменения текущего рабочего каталога используйте os.chdir(path) .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Python-сообщество
![]()
- Начало
- » Python для новичков
- » Не могу найти папку с Python3
#1 Май 14, 2017 22:12:30
Gosha777 Зарегистрирован: 2017-05-12 Сообщения: 28 Репутация: 0 Профиль Отправить e-mail
Не могу найти папку с Python3
Всем привет! Терминал не видит Python. Пишет “Python не является внутренней или внешней командой, исполняемой программой или пакетным файлом”. Среди решений нашёл, что нужно прописать путь в windows.
Но у всех в основном Python находится сразу на диске C. У меня же его там нет. В ProgramFiles сам исполняемый файл Python, как я понял, не находится. Устанавливал с оффициального сайта http://prntscr.com/f7sif7
В VisualStudio всё отрабатывает хорошо…
Помогите, пожалуйста, где же всё таки находится путь к программе?
Отредактировано Gosha777 (Май 14, 2017 22:13:48)
Как определить папку в Python по имени+дате создания?
Вот так я достаю папку «Самая_свежая», а куда тут добавить имя, чтобы я мог Имя1, Имя2 и т.д. подставлять?
- Вопрос задан более года назад
- 86 просмотров
Комментировать
Решения вопроса 1

Сергей П @trapwalker Куратор тега Python
Программист, энтузиаст
У вас в таком случае может возникнуть нестыковка. Нужно определиться о каком времени идет речь: о том, что указано в имени файла, или о дате\времени создания каталога?
Переименование каталога может нарушить работу вашего алгоритма.
Как я понял вас бы устроила сортировка по тому времени, что указано в имени файла.
Общий порядок решения вашей задачи такой:
1. Получить список каталогов из определенного места файловой системы и чтобы они соответствовали некоторому формату заданному маской. Используйте стандартный (в третьем питоне) модуль pathlib. Там у пути есть метод glob.
2. Получившийся набор имен нужно разбить на составляющие:
— выделить префикс
— выделить дату\время
3. Отсортировать список каталогоа по выделенному времени, взять нужный каталог.
4. Сформировать из выделенных в п.2 компонентов новое имя и создать каталог с новым именем.
Ответ написан более года назад
Elbro @Elbro Автор вопроса
В теории я это понимаю, я не понимаю практически, как научить его доставать две части из имени.
Как я показал в самом вопросе, у меня уже есть решение по сортировке по дате из имени:
Имя_1_Время_00_00 Имя_2_Время_00_01 Имя_1_Время_00_02 Имя_5_Время_00_03 Имя_5_Время_00_04
Теперь я хочу научить его делать
Имя_1_Время_00_00 Имя_1_Время_00_02 ------------------------ Имя_2_Время_00_01 ------------------------ Имя_5_Время_00_03 Имя_5_Время_00_04
Elbro @Elbro Автор вопроса
time_now = datetime.datetime.now().strftime('_at_%m_%d_%Y_%H_%M') folder_1 = "Имя_1" + time_now folder_2 = "Имя_2" + time_now folder_3 = "Имя_3" + time_now
Имя выглядит вот так вот

Сергей П @trapwalker Куратор тега Python
Elbro, так а в чем проблема разбить по символу ‘_’ или послайсить по конкретным кускам строки и превратить строку в кортеж. Кортежи можно сортировать потом ка угодно по любым составным частям.
Не понимаю в чем ваша проблема.
Потом, после сортировки, можно itertools.groupby использовать, чтобы сгруппировать как у вас
Elbro @Elbro Автор вопроса
Сергей Паньков, проблема в том, что я не понимаю как это сделать. Я же не просто так вопрос задал :D. Не в коем случае не ленюсь, и гуглю, и пробую разные варианты, но не очень понимаю как красиво все это сделать, поэтому и пришел за помощью.

Сергей П @trapwalker Куратор тега Python
In [1]: import itertools In [5]: files = [ . 'Имя_1_Время_00_00', . 'Имя_2_Время_00_01', . 'Имя_1_Время_00_02', . 'Имя_5_Время_00_03', . 'Имя_5_Время_00_04', . ] In [6]: splited_names = [name.split('_') for name in files] In [7]: splited_names Out[7]: [['Имя', '1', 'Время', '00', '00'], ['Имя', '2', 'Время', '00', '01'], ['Имя', '1', 'Время', '00', '02'], ['Имя', '5', 'Время', '00', '03'], ['Имя', '5', 'Время', '00', '04']] In [8]: splited_names.sort() In [9]: splited_names Out[9]: [['Имя', '1', 'Время', '00', '00'], ['Имя', '1', 'Время', '00', '02'], ['Имя', '2', 'Время', '00', '01'], ['Имя', '5', 'Время', '00', '03'], ['Имя', '5', 'Время', '00', '04']] In [12]: for group, items in itertools.groupby(splited_names, key=lambda v: v[:2]): . print('-' * 10) . for item in items: . print(item, '<>-<>-<>-<><>'.format(*item)) . . ---------- ['Имя', '1', 'Время', '00', '00'] Имя-1-Время-0000 ['Имя', '1', 'Время', '00', '02'] Имя-1-Время-0002 ---------- ['Имя', '2', 'Время', '00', '01'] Имя-2-Время-0001 ---------- ['Имя', '5', 'Время', '00', '03'] Имя-5-Время-0003 ['Имя', '5', 'Время', '00', '04'] Имя-5-Время-0004