Linux Path环境变量-以正确的方式添加带有空格的路径

时间:2019-07-09 21:12:01

标签: python linux path environment-variables space

我想在Linux下将路径附加到我的PATH环境变量中。我是在我的Python程序中临时完成此操作(通过设置os.environ['PATH']),我希望它能够可靠地完成。我特别担心路径包含空格的情况。我尝试通过以下四种方式将这样的路径添加到PATH变量中:

  • 仅将路径原样附加空格:/a b c:/usr/bin
  • 以双引号将路径附加空格:"/a b c":/usr/bin
  • 以单引号将路径附加空格:'/a b c':/usr/bin
  • 为路径添加用'\'进行转义的空格:/a\ b\ c:/usr/bin

所以对我来说,只有第一种最简单的方法起作用了。对于其他所有文件,找不到我的可执行文件。这有点出乎意料,因为我确定我应该始终意识到带空格的路径并以某种方式处理它们。这种行为可靠吗?还是会中断,并且还有其他方法可以将带有空格的路径正确添加到PATH?

感谢您的关注!我确实在Internet上进行了搜索,但是除了以下链接之外,我找不到该信息:https://apple.stackexchange.com/questions/94679/how-do-cope-with-a-space-when-setting-the-path。但是这里是关于如何添加到PATH的路径的,而不是关于是否可以在没有引号,反斜杠或其他任何东西的情况下使用它。

1 个答案:

答案 0 :(得分:0)

由于在PATH环境变量中没有特殊含义,因此不需要转义空格。 因此,如果将路径附加到PATH环境变量中,则可以完全忽略该路径中是否存在空格。

代码:

import os

path_to_add = '/home/user/My Path'  # A path with space

print(os.environ['PATH'])  # Prints /usr/local/bin:/usr/sbin

os.environ['PATH'] += os.pathsep + path_to_add
print(os.environ['PATH'])  # Prints /usr/local/bin:/usr/sbin:/home/user/My Path