如何在路径上下文中使用'〜'(代字号)?

时间:2010-08-15 18:13:35

标签: python path tilde

我是一个Web应用程序开发菜鸟。我有一个打开文件并读取它的函数。不幸的是,测试服务器和生产服务器之间的目录结构不同。我被告知“使用相对于〜的路径”。但是,我无法在'〜'上找到任何资源!

如何在路径上下文中使用波形符?

编辑:这是在Python中。我使用os.path.expanduser()修复了这个问题。

3 个答案:

答案 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)