在使用Python子进程访问的Bash环境变量(access Bash environment va

2019-10-29 04:29发布

我能确定在Python终端与子-处理查询诸如以下的宽度:

int(subprocess.Popen(['tput', 'cols'], stdout = subprocess.PIPE).communicate()[0].strip('\n'))

我怎么能确定以类似的方式Bash的用户名? 所以,我怎么能看到的$ {USER}使用Python中子的价值?

Answer 1:

作为Wooble和端午说,不使用子这一点。 使用os.getenv("USER")os.environ["USER"]

如果你真的想使用subprocess然后Popen(['bash', '-c', 'echo "$USER"'], ...)似乎工作一样Popen("echo $USER", shell=True)虽然这些都不是特别愉快的(虽然在命令行上使用的环境变量正在执行的外壳必须参与,所以你真的不能避免的话)。

编辑:我以前子的建议似乎并没有正常工作。 我相信我原来的测试是有缺陷的。



文章来源: access Bash environment variable in Python using subprocess