Как использовать '~' (тильда) в контексте пути?

Я новичок в разработке веб-приложений. У меня есть функция, которая открывает файл и читает его. К сожалению, структуры каталогов между тестовым и рабочим серверами различаются. Мне сказали «использовать путь относительно ~». Однако я не смог найти никаких ресурсов на «~»!

Как использовать символ тильды в контексте путей?

РЕДАКТИРОВАТЬ: Это на Python. Я исправил проблему, используя os.path.expanduser ('~ / path / in / home / area') .

43
задан Biggsy 29 July 2019 в 09:28
поделиться

2 ответа

это ваша переменная $ HOME в UNIX, обычно это / home / username .

«Ваш дом» означает дом пользователя, выполняющего команду типа cd ~ / MyDocuments / , это cd / home / user_executing_cd_commnd / MyDocuments

38
ответ дан 26 November 2019 в 23:04
поделиться

Если вы не пишете сценарий оболочки или не используете какой-либо другой язык, который умеет заменять значение $ HOME на ~ , тильды в файле Пути не имеют особого значения и будут рассматриваться как любой другой неспециальный символ.

Если вы пишете сценарий оболочки, оболочки не интерпретируют тильды, если они не встречаются в качестве первого символа в аргументе. Другими словами, ~ / file превратится в / path / to / users / home / directory / file , но ./ ~ / file будет интерпретироваться буквально (например, «файл с именем файл в подкаталоге . с именем ~ »).

Используемая в URL-адресах тильда как сокращение домашнего каталога пользователя (например, http://www.foo.org/~bob ) - это соглашение, заимствованное из Unix. Реализация полностью зависит от сервера, поэтому вам нужно будет проверить документацию для вашего веб-сервера, чтобы узнать, имеет ли она какое-либо особое значение.

15
ответ дан 26 November 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: