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

Python Linux Path环境变量--以正确的方式添加带空格的路径,python,linux,path,environment-variables,space,Python,Linux,Path,Environment Variables,Space,我想在Linux下为我的path环境变量附加一个路径。我在Python程序中临时执行此操作(通过设置os.environ['PATH']),我希望它能够可靠地执行。特别是,我担心路径包含空格的情况。我尝试通过四种方式将这样的path添加到path变量: 只需在路径中添加空格即可:/a b c:/usr/bin 要在路径后面加上双引号中的空格:“/abc”:/usr/bin 要在路径后面加上单引号中的空格:'/a b c':/usr/bin 要在路径后面附加用“\”转义的空格:/a\b\c:/u

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

  • 只需在路径中添加空格即可:
    /a b c:/usr/bin
  • 要在路径后面加上双引号中的空格:
    “/abc”:/usr/bin
  • 要在路径后面加上单引号中的空格:
    '/a b c':/usr/bin
  • 要在路径后面附加用“\”转义的空格:
    /a\b\c:/usr/bin
所以对我来说,只有第一种最简单的方法有效。对于所有其他文件,找不到我的可执行文件。这有点出乎意料,因为我确信我应该始终注意带有空格的路径,并以某种方式处理它们。这种行为可靠吗?或者它会中断,并且有其他方法可以正确地向路径添加带有空格的路径


谢谢大家的关注!我确实在Internet上搜索过,但除了以下链接外,我没有找到此信息:。但是在这里,它是关于如何将路径添加到路径,而不是关于是否可以不使用任何引号或反斜杠或其他内容。因为path环境变量中没有特殊含义,所以不需要转义空格。 因此,如果将路径附加到path环境变量,则可以完全忽略该路径中是否存在空格

代码:


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

代码:


空格在
PATH
变量中没有特殊意义,它们不需要被引用或转义。@Barmar,谢谢您的评论!你知道我在哪里能找到这些信息吗?或者这是一种常识?只是真的找不到。反斜杠和引号将在
PATH
变量中按字面意思处理,不要添加它们。唯一有特殊意义的字符是
,但我认为没有任何方法可以逃避它。它是通过省略来表示的。
PATH
变量的描述没有说明需要转义什么,所以不要这样做。这只是一个路径名序列,由
分隔:
@Barmar,啊,我明白了。再次感谢你!空格在
PATH
变量中没有特殊意义,它们不需要被引用或转义。@Barmar,谢谢您的评论!你知道我在哪里能找到这些信息吗?或者这是一种常识?只是真的找不到。反斜杠和引号将在
PATH
变量中按字面意思处理,不要添加它们。唯一有特殊意义的字符是
,但我认为没有任何方法可以逃避它。它是通过省略来表示的。
PATH
变量的描述没有说明需要转义什么,所以不要这样做。这只是一个路径名序列,由
分隔:
@Barmar,啊,我明白了。再次感谢你!
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