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

Как узнать папку python

  • автор:

Как узнать папку 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-сообщество

[RSS Feed]

  • Начало
  • » 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

Сергей П @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

Сергей П @trapwalker Куратор тега Python

Elbro, так а в чем проблема разбить по символу ‘_’ или послайсить по конкретным кускам строки и превратить строку в кортеж. Кортежи можно сортировать потом ка угодно по любым составным частям.
Не понимаю в чем ваша проблема.
Потом, после сортировки, можно itertools.groupby использовать, чтобы сгруппировать как у вас

Elbro @Elbro Автор вопроса

Сергей Паньков, проблема в том, что я не понимаю как это сделать. Я же не просто так вопрос задал :D. Не в коем случае не ленюсь, и гуглю, и пробую разные варианты, но не очень понимаю как красиво все это сделать, поэтому и пришел за помощью.

trapwalker

Сергей П @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

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

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