使用python scrip的linux环境的插件$PATH

2024-09-30 07:35:47 发布

您现在位置:Python中文网/ 问答频道 /正文

需要将此路径-->/home/ubuntu/folderA添加到linux ubuntu中我的path环境变量。在

更新

print(os.environ["PATH"])

path = "/home/ubuntu/folderA"
os.environ["PATH"] += os.pathsep + path

print(os.environ["PATH"])
#Can see the newly added path here when i print

但是,我仍然无法进入路径。在

当我看到printenv时,我仍然看不到路径。在

尝试os.getenv("PATH")查看路径是否已更新,但仍然是相同的

如果我使用以下命令手动执行,然后使用printenv,路径就在那里。在

^{pr2}$

我需要的是使用python脚本中的第一个方法更新路径,然后继续使用其余方法。在

希望有人能看看。非常感谢。在

最终更新:运行python脚本时会附加路径。只是在脚本完成后,路径将不会持久化。因此,当我执行printenv操作时,路径不会显示出来。在


Tags: path方法路径脚本homeosubuntulinux
3条回答

您可以使用os.environ["PATH"]。在

查看此question以获取想法。在

这是因为在类Unix的系统上,每个进程的环境都是唯一的。在

当您运行脚本时,操作系统会将当前的环境变量复制到新的环境中。在这个新环境中,脚本修改PATH变量。脚本退出后,该环境将被破坏。在

试着运行这个来看看我在说什么:

path = "/home/ubuntu/folderA"
os.environ["PATH"] += os.pathsep + path
print(os.environ["PATH"])
os.system('printenv')

您应该看到修改后的PATH变量。在

如果要修改PATH变量以进行进一步的处理,则必须执行以下操作之一。在

  1. 从脚本启动bashshell。使用os.system('bash')这将启动一个子shell进程,该进程将继承脚本中的PATH变量。

  2. 首选的方法是将脚本改成这样

    ^{pr2}$

    然后像这样执行脚本

    ^{3}$

    这将获得启动脚本的shell中的修改路径。请注意,在Windows类型的系统上,情况完全不同

<罢工>sys.path属于类型list。因此,您应该使用内置的append()方法来添加string

import sys
sys.path.append("/home/ubuntu/folderA")

The down-votes led me to look further into the difference between ^{} and ^{}.

要更新当前用户的路径变量,请使用操作系统环境['路径']。在

需要注意的是,path变量是一个字符串对象,在循环中更新它将消耗内存。如果要从列表更新,请使用以下方法。在

^{pr2}$

相关问题 更多 >

    热门问题