Как написать путь к программе

Всё дело в том, что в разных ситуациях нам нужно указывать абсолютный путь к файлу (длинная запись), а в других — относительный (короткий). Посмотрим, что это — во имя компьютерной грамотности.

Абсолютный путь к файлу

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

В Windows всё начинается с диска — это может быть C:, D: или диск с любой другой буквой. Если на диске C: сделать папку Thecode, внутри неё — папку Media, а в Media положить файл «статья.txt», то абсолютный путь к этому файлу будет такой:

Полный путь к файлу в Windows формируется так: Диск → все вложенные папки → имя файла. Обратите внимание — названия дисков, папок и файлов отделяются друг от друга обратной косой чертой.

❌ CThecodeMediaстатья.txt ← пропущено двоеточие после буквы диска.

❌ C: Thecode Media статья.txt ← нет разделителей между названиями папок и файлов.

❌ C:ThecodeMedia ← это путь к папке, но имя файла не указано.

Как найти путь к файлу как найти путь к программе Как узнать путь к файлу Как узнать расположение

В MacOS у дисков нет отдельной назначенной буквы, поэтому всё начинается с корневой папки /, внутри которой и находятся все остальные папки.

Кстати, в MacOS, Linux и любой UNIX-подобной файловой системе все диски — это тоже папки. Например, когда мы делали скрипт для бэкапа, то флешка с названием WIN10_64 находилась по такому адресу: /Volumes/WIN10_64. А всё потому, что все новые диски по умолчанию подключаются как папки внутри папки /Volumes.

Ещё одно отличие MacOS и Linux в том, что вместо обратной косой черты используется просто косая черта, у которой наклон в другую сторону: /. Всё остальное работает по тому же принципу: в абсолютном пути мы собираем все папки, которые нужно пройти, начиная с корня.

Например, если у нас есть в документах папка Notes, внутри которой лежит markdown-файл с задачами на день tasks.md, то полный путь к нему будет в MacOS выглядеть так:

Что такое абсолютный и относительный путь к файлу

Когда скрипт или программа встречают абсолютный путь, они точно знают, где взять конкретный файл. Например, почти все ссылки в интернете, которые ведут с сайта на сайт, — абсолютные, чтобы браузер точно знал, где взять нужный файл со страницей.

Но если вы сделали проект на своём компьютере и использовали абсолютные пути, то при запуске на другом компьютере он может выдать ошибку, если файлы не будут лежать в точно таких же папках и дисках. Поэтому в такой ситуации лучше использовать относительный путь.

Читайте также:
Что делать если завис компьютер и не выходит из программы

Относительный путь к файлу

Относительный путь — это путь к файлу относительно текущего каталога. Текущий каталог — это тот, в котором запускается скрипт, программа или открывается страница в браузере.

Например, если мы в папку Notes из примера выше положим файлы нашего калькулятора на JavaScript, то абсолютные пути к каждому файлу будут выглядеть так:

Работа с файлами с++. Запись в файл. c++ ofstream. Изучение С++ для начинающих. Урок #115

/Users/mike/Documents/Notes/index.html
/Users/mike/Documents/Notes/style.css
/Users/mike/Documents/Notes/script.js

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

index.html
style.css
script.js

Когда браузер встретит такой путь, он возьмёт путь к каталогу, где лежит страница, и в нём будет искать эти файлы. А если нам понадобится файл data.json из папки Documents, которая лежит уровнем выше, то мы можем обратиться к нему так:

Первая точка означает текущий каталог, вторая — на уровень выше, а косая черта — что нам нужно зайти в тот каталог и взять оттуда файл data.json.

Что такое абсолютный и относительный путь к файлу

Когда что использовать

В наших проектах при подключении файлов скриптов или стилей мы используем относительный путь, потому что они лежат в той же папке, что и веб-страница для браузера. А вот когда мы подключаем скрипты из интернета, то указываем полный путь, потому что они лежат не в нашей папке, а на своём сервере.

Общее правило будет такое: если вы работаете со своими файлами, лучше указывать относительный путь, а если нужен чужой файл из интернета — то абсолютный.

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Источник: thecode.media

Как прописать на Python путь к файлу в Windows, Mac и Linux

Одним из маленьких раздражителей в программировании является то, что путь к файлу в Microsoft Windows строится с использованием символа обратной косой черты между именами папок, в то время как почти все другие ОС используют прямую:

Путь к файлу в Windows: C:some_foldersome_file.txt В большинстве других ОС: /some_folder/some_file.txt

Это случайность компьютерной истории начала 1980-х годов. В первой версии MS-DOS для указания параметров командной строки использовался символ прямой косой черты. Когда Microsoft добавила поддержку папок в MS-DOS 2.0, символ прямой косой черты был уже занят, поэтому вместо него использовалась обратная косая черта. Тридцать пять лет спустя мы по-прежнему сталкиваемся с этой несовместимостью.

Если вы хотите, чтобы ваш код на Python работал как на Windows, так и на Mac/Linux, вам придется решать подобные проблемы, связанные с конкретной платформой. К счастью, в Python 3 есть новый модуль pathlib , который делает работу с файлами практически безболезненной.

Давайте рассмотрим различные способы обработки путей к именам файлов и узнаем, как pathlib может сделать вашу жизнь лучше!

Неправильное решение: построить путь к файлу вручную

Допустим, у вас есть папка, содержащая файл, который вы хотите открыть в вашей программе Python:

Читайте также:
Программа не была установлена на iPhone так как для нее требуется более Новая версия iOs

Путь к файлу в структуре директорий

Сделать так будет неправильно:

data_folder = «source_data/text_files/» file_to_open = data_folder + «raw_data.txt» f = open(file_to_open) print(f.read())

Обратите внимание, что я жестко закодировал путь к файлу, используя прямые слэши в стиле Unix, поскольку я работаю на Mac. Это разозлит пользователей Windows.

Технически этот код будет работать под Windows, потому что в Python есть хак, который распознает любой вид слэша, когда вы вызываете open() под Windows. Но полагаться на это не стоит. Если вы используете тип слэша, не подходящий для ОС, не все библиотеки Python будут работать, особенно если они взаимодействуют с внешними программами или библиотеками.

А поддержка Python для смешивания типов слэшей – это хак только для Windows, который не работает в обратном направлении. Использование обратных слешей в коде будет полностью провальным на Mac:

data_folder = «source_data\text_files\» file_to_open = data_folder + «raw_data.txt» f = open(file_to_open) print(f.read()) # На Mac этот код выбросит исключение: # FileNotFoundError: [Errno 2] No such file or directory: ‘source_data\text_files\raw_data.txt’

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

Старое решение: построить путь к файлу при помощи модуля os.path

Модуль os.path в Python имеет множество инструментов для решения ОС-специфичных проблем с файловой системой.

Вы можете использовать os.path.join() для построения строки пути, используя нужный вид слэша для текущей операционной системы:

import os.path data_folder = os.path.join(«source_data», «text_files») file_to_open = os.path.join(data_folder, «raw_data.txt») f = open(file_to_open) print(f.read())

Этот код будет отлично работать как на Windows, так и на Mac. Проблема в том, что его сложно использовать. Выписывать os.path.join() и передавать каждую часть пути в виде отдельной строки – многословно и неинтуитивно.

Поскольку большинство функций в модуле os.path так же неудобны в использовании, разработчики часто “забывают” их использовать. Это приводит к множеству кроссплатформенных ошибок и недовольству пользователей.

Лучшее решение: использовать pathlib в Python 3

В Python 3.4 появилась новая стандартная библиотека с модулем pathlib для работы с файлами и путями – и это замечательно!

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

from pathlib import Path data_folder = Path(«source_data/text_files/») file_to_open = data_folder / «raw_data.txt» f = open(file_to_open) print(f.read())

Обратите внимание на два момента:

  • С функциями pathlib нужно использовать прямые слэши. Объект Path() преобразует их в правильный вид слэша для текущей операционной системы. Отлично!
  • Если вы хотите дополнить путь к файлу, можно использовать оператор / непосредственно в коде. Попрощайтесь с беспрестанным набором os.path.join(a, b) .

И даже если бы это было всё, на что способен pathlib , это уже было бы отличным дополнением к Python. Но этот модуль способен на большее!

Например, мы можем прочитать содержимое текстового файла, не возясь с его открытием и закрытием:

from pathlib import Path data_folder = Path(«source_data/text_files/») file_to_open = data_folder / «raw_data.txt» print(file_to_open.read_text())

Фактически, pathlib делает большинство стандартных операций с файлами быстрыми и простыми:

from pathlib import Path filename = Path(«source_data/text_files/raw_data.txt») print(filename.name) # Выводит «raw_data.txt» print(filename.suffix) # Выводит «txt» print(filename.stem) # Выводит «raw_data» if not filename.exists(): print(«Oops, file doesn’t exist!») else: print(«Yay, the file exists!»)

Читайте также:
Задачи для программы кумир

Вы даже можете использовать pathlib для явного преобразования пути Unix в путь в формате Windows:

from pathlib import Path, PureWindowsPath filename = Path(«source_data/text_files/raw_data.txt») # Конвертировать путь в формат Windows path_on_windows = PureWindowsPath(filename) print(path_on_windows) # Вывод: # source_datatext_filesraw_data.txt

И если вы хотите действительно безопасно использовать обратные слеши в своем коде, вы можете объявить свой путь к файлу в формате Windows, и pathlib преобразует его для работы в текущей операционной системе:

from pathlib import Path, PureWindowsPath # Я явно объявил мой путь в формате Windows, чтобы использовать в нем прямые слэши. filename = PureWindowsPath(«source_data\text_files\raw_data.txt») # Конвертировать путь в подходящий для текущей ОС формат correct_path = Path(filename) print(correct_path) # Выводит «source_data/text_files/raw_data.txt» на Mac и Linux # Выводит «source_datatext_filesraw_data.txt» на Windows

Проявив смекалку, можно использовать pathlib даже для разрешения относительных путей к файлам, разбора путей к сетевым ресурсам и генерации URL file://. Вот пример из всего пары строк кода, которые откроют локальный файл в вашем браузере:

from pathlib import Path import webbrowser filename = Path(«source_data/text_files/raw_data.txt») webbrowser.open(filename.absolute().as_uri())

Это был лишь небольшой обзор pathlib . Этот модуль – отличная замена для множества различных функций, связанных с файлами, которые раньше были разбросаны по разным модулям Python. Проверьте!

Спасибо за чтение!

1 комментарий к “Как прописать на Python путь к файлу в Windows, Mac и Linux”

  1. Пингбэк: Поиск текста в нескольких файлах на Python — pythonturbo

Источник: pythonturbo.ru

Путь к файлу виндовс на компьютере

Что такое путь к файлу? У этого вопроса может быть несколько ответов, например «путь до файла/папки на сайте» или на компьютере.

Подробно о пути к файлу на компьютере.

  1. Полный путь на компьютере до файла.
  2. Как скопировать путь к файлу в windows
  3. Как написать полный путь к файлу на компьютере?

Полный путь на компьютере до файла.

К примеру у нас есть какой-то файл на компьютере. Вкладка с файлом открыта.

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

Полный путь на компьютере до файла.

Первое условие: для того, чтобы написать полный путь к файлу – нужно знать, где он находится, а иначе, как написать этот путь, если ты сам не знаешь где он….

Любым из способов нам нужно открыть интересующий нас файл в проводнике.

Как скопировать путь к файлу в windows

Еще наисложнейшая вещь на компьютере — это «скопировать путь к файлу в windows».

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

Как скопировать путь к файлу в windows

Наводим мышку на адресную строку и просто нажимаем.

Строка с адресом до папки выделяется автоматически.

Нажимаем сочетание клавиш «ctrl + C»

Можно открыть в отдельном окне!

Как скопировать путь к файлу в windows

И далее, вставляем туда, куда вы хотите вставить смайлы ваш путь до папки! Это еще не путь до файла.

Возвращаемся к нашему файлу.

Далее выделить всё — «ctrl + A».

Скопировать «ctrl + C».

Как скопировать путь к файлу в windows

Добавляем скопированное название файла к пути папки, что у нас получился выше. (не забываем обратный слеш ) :

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru