我是一个Web应用程序开发菜鸟。我有一个打开文件并读取它的函数。不幸的是,测试服务器和生产服务器之间的目录结构不同。我被告知“使用相对于〜的路径”。但是,我无法在'〜'上找到任何资源!
如何在路径上下文中使用波形符?
编辑:这是在Python中。我使用os.path.expanduser()修复了这个问题。
答案 0 :(得分:38)
它是UNIX中的$HOME
var,通常为/home/username
。
“您的家”意味着执行cd ~/MyDocuments/
之类命令的用户的住所是cd /home/user_executing_cd_commnd/MyDocuments
答案 1 :(得分:15)
除非您正在编写shell脚本或使用其他语言知道将$HOME
的值替换为~
,否则文件路径中的波浪号没有特殊含义,将被视为任何其他语言非特殊性。
如果您正在编写shell脚本,则shell不会解释tildes,除非它们作为参数中的第一个字符出现。换句话说,~/file
将变为/path/to/users/home/directory/file
,但./~/file
将按字面解释(即,file
的{{1}}子目录中名为.
的文件{ {1}}“)。
在URL中使用,将波浪号解释为用户主目录的简写(例如,~
)是从Unix借用的约定。实现完全是服务器特定的,因此您需要检查Web服务器的文档,看它是否有任何特殊含义。
答案 2 :(得分:0)
如果您使用pathlib作为文件名,则可以在Windows和Linux上使用(我来这里是Windows的答案):
python
from pathlib import Path
p = Path('~').expanduser()
print(p)