Python中文
首页
教程
问答
标签
搜索
登录
注册
Python,在使用Popen时更改当前shell环境变量?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个包含环境变量信息的XML,它通过python脚本设置到shell中。以下是XML的一个片段:</p> <pre><code><envVar name='QTDIR'>/homeqt/libs.qt4/qt4.5.1</envVar> <envVar name='MAKE'>which make</envVar> </code></pre> <p>这个片段的这一部分告诉我的python脚本设置环境变量QTDIR和MAKE。在</p> <p>我关心的是如何设置上述变量。我知道我可以用操作系统环境要设置环境变量并执行以下操作:</p> ^{pr2}$ <p>但是我不能用它来设置MAKE变量,我必须执行命令“<em>which MAKE</em>”(以获得makeexecutable的路径)。我的目标是使用相同的方法/函数来设置每个变量。在</p> <p>所以,我想做些类似的事情:</p> <pre><code>Popen("QTDIR=/homeqt/libs.qt4/qt4.5.1 ; export QTDIR", shell=True, stdout=PIPE, stderr=PIPE) Popen("MAKE=which make ; export MAKE", shell=True, stdout=PIPE, stderr=PIPE) </code></pre> <p>但是如果我这样做,变量将只为子进程设置,而不是为当前shell设置。在</p> <p>所以,我的问题是,有没有办法做我想做的事?我不想分析XML并做这样的事情:</p> <p>(伪代码)</p> <pre><code>if QTDIR has normal value os.environ['QTDIR'] = "/homeqt/libs.qt4/qt4.5.1" if MAKE has value to be executed p = Popen("which make", shell=True, stdout=PIPE, stderr=PIPE) stdout, stderr = p.communicate() os.environ['MAKE'] = stdout </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我将使用XML属性。在</p> <pre><code><envVar name="MAKE" type="command">which make</envVar> <envVar name="QTDIR" type="string">/homeqt/libs.qt4/qt4.5.1</envVar> </code></pre> <p>伪代码取决于您的xml库:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
9 回答
如何添加表示整数的擦边字符串?
2 回答
如何添加要在Bokeh中使用的新font.ttf文件?
8 回答
如何添加要显示的矩阵XY轴编号和XY轴
5 回答
如何添加计数?
3 回答
如何添加计数器函数?
2 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
1 回答
如何添加计数器来跟踪while循环中的月份和年份?
10 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
4 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
8 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
1 回答
如何添加评论拉梅尔亚姆
4 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
10 回答
如何添加超时、python discord bot
7 回答
如何添加超过1dp的检查
7 回答
如何添加距离方法
3 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
4 回答
如何添加身份验证/安全性以使用happybase访问HBase?
8 回答