为了解决工作中的代码问题,我被告知要“使用相对于~的路径”。在文件路径中,~
是什么意思?我如何制定一个相对于~
的路径,并在Python中使用该路径来打开文件?
为了解决工作中的代码问题,我被告知要“使用相对于~的路径”。在文件路径中,~
是什么意思?我如何制定一个相对于~
的路径,并在Python中使用该路径来打开文件?
这里的$HOME
变量在UNIX中代表用户的主目录,通常是/home/用户名
。
"Your home" 指的是执行像cd ~/MyDocuments/
这样的命令的用户的主目录,即cd /home/执行cd命令的用户名/MyDocuments
。
~
指向您的 $HOME
,它可以是任何目录(即不一定是 /home/username
)。 - Håvard S除非您在编写Shell脚本或使用其他知道将$HOME
的值替换为~
的语言,否则文件路径中的波浪号没有特殊含义,将被视为任何其他非特殊字符。
如果您正在编写Shell脚本,则Shell不会解释波浪线,除非它们出现在参数的第一个字符中。换句话说,~/file
将变成/path/to/users/home/directory/file
,但./~/file
将被按字面意思解释(即“在名为~的子目录下的名为file
的文件”)。
在URL中使用波浪线作为用户主目录的缩写(例如http://www.foo.org/~bob
),是从Unix中借用的约定。实现完全取决于服务器,因此您需要检查您的Web服务器文档以查看其是否具有任何特殊含义。
from pathlib import Path
p = Path('~').expanduser()
print(p)