【问题标题】:Python2.7 ~ tilde not recognized in path as home directory macOs [duplicate]Python2.7〜波浪号在路径中未被识别为主目录macOs [重复]
【发布时间】:2019-04-30 18:29:11
【问题描述】:

在某些时候,波浪符号 ~ 不再被识别为我的主目录,仅在 Python 中。 〜仍然可以在终端中使用,所以我不确定发生了什么,但是任何有关如何修复它的见解都会为我节省一些打字谢谢!

在 macOS Mojave 上

import os
tilde = '~'
print(os.path.exists(tilde))
os.system("if test -d ~; then echo 'exists'; fi")

输出:

False
exists

【问题讨论】:

  • 波浪号是 shell 识别的快捷方式,而不是主目录的替代名称。

标签: python macos unix terminal environment-variables


【解决方案1】:

~ 由操作系统解释,而不是 Python。从 Python 脚本中使用它的方法是:

from os.path import expanduser
home = expanduser("~")

现在home 将具有由~ 表示的路径

【讨论】:

    【解决方案2】:

    您必须首先在路径上使用os.path.expanduser。试试

    print(os.path.exists(os.path.expanduser(tilde)))
    

    改为。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 2017-02-28
      • 2013-07-10
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多