需要将此路径-->/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
,路径就在那里。在
我需要的是使用python脚本中的第一个方法更新路径,然后继续使用其余方法。在
希望有人能看看。非常感谢。在
最终更新:运行python脚本时会附加路径。只是在脚本完成后,路径将不会持久化。因此,当我执行printenv
操作时,路径不会显示出来。在
您可以使用
os.environ["PATH"]
。在查看此question以获取想法。在
这是因为在类Unix的系统上,每个进程的环境都是唯一的。在
当您运行脚本时,操作系统会将当前的环境变量复制到新的环境中。在这个新环境中,脚本修改PATH变量。脚本退出后,该环境将被破坏。在
试着运行这个来看看我在说什么:
您应该看到修改后的PATH变量。在
如果要修改PATH变量以进行进一步的处理,则必须执行以下操作之一。在
从脚本启动bashshell。使用
os.system('bash')
这将启动一个子shell进程,该进程将继承脚本中的PATH变量。首选的方法是将脚本改成这样
^{pr2}$然后像这样执行脚本
^{3}$这将获得启动脚本的shell中的修改路径。请注意,在Windows类型的系统上,情况完全不同
<罢工>
sys.path
属于类型list
。因此,您应该使用内置的append()
方法来添加string
。The down-votes led me to look further into the difference between ^{} and ^{}.
要更新当前用户的路径变量,请使用操作系统环境['路径']。在
需要注意的是,path变量是一个字符串对象,在循环中更新它将消耗内存。如果要从列表更新,请使用以下方法。在
^{pr2}$相关问题 更多 >
编程相关推荐