Ответ 1
это ваш $HOME
var в UNIX, который обычно равен /home/username
.
"Ваш дом" означает дом пользователя, выполняющего команду типа cd ~/MyDocuments/
, cd /home/user_executing_cd_commnd/MyDocuments
Я noob разработки веб-приложений. У меня есть функция, которая открывает файл и читает его. К сожалению, структуры каталогов между тестовым и рабочим серверами различаются. Мне сказали "использовать путь относительно ~". Однако я не смог найти никаких ресурсов на "~"!
Как использовать символ тильды в контексте путей?
ОБНОВЛЕНИЕ: Это в Python. Я исправил проблему, используя os.path.expanduser('~/path/in/home/area').
это ваш $HOME
var в UNIX, который обычно равен /home/username
.
"Ваш дом" означает дом пользователя, выполняющего команду типа cd ~/MyDocuments/
, cd /home/user_executing_cd_commnd/MyDocuments
Если вы не пишете оболочку script или используете какой-либо другой язык, который знает, чтобы подставить значение $HOME
для ~
, тильды в пути к файлам не имеют специального значения и будут рассматриваться как любые другие не- специальный символ.
Если вы пишете оболочку script, оболочки не интерпретируют тильды, если они не встречаются в качестве первого символа в аргументе. Другими словами, ~/file
станет /path/to/users/home/directory/file
, но ./~/file
будет интерпретироваться буквально (т.е. "Файл с именем file
в подкаталоге .
, называемый ~
" ).
Используется в URL-адресах, интерпретация тильды как стенограммы для домашнего каталога пользователя (например, http://www.foo.org/~bob
) - это соглашение, заимствованное из Unix. Реализация полностью зависит от сервера, поэтому вам нужно будет проверить документацию для своего веб-сервера, чтобы узнать, имеет ли она какое-то особое значение.
Если вы используете pathlib для имен файлов, вы можете использовать их как в Windows, так и в Linux (я пришел сюда для ответа Windows):
python
from pathlib import Path
p = Path('~').expanduser()
print(p)