我能确定在Python终端与子-处理查询诸如以下的宽度:
int(subprocess.Popen(['tput', 'cols'], stdout = subprocess.PIPE).communicate()[0].strip('\n'))
我怎么能确定以类似的方式Bash的用户名? 所以,我怎么能看到的$ {USER}使用Python中子的价值?
我能确定在Python终端与子-处理查询诸如以下的宽度:
int(subprocess.Popen(['tput', 'cols'], stdout = subprocess.PIPE).communicate()[0].strip('\n'))
我怎么能确定以类似的方式Bash的用户名? 所以,我怎么能看到的$ {USER}使用Python中子的价值?
作为Wooble和端午说,不使用子这一点。 使用os.getenv("USER")
或os.environ["USER"]
。
如果你真的想使用subprocess
然后Popen(['bash', '-c', 'echo "$USER"'], ...)
似乎工作一样Popen("echo $USER", shell=True)
虽然这些都不是特别愉快的(虽然在命令行上使用的环境变量正在执行的外壳必须参与,所以你真的不能避免的话)。
编辑:我以前子的建议似乎并没有正常工作。 我相信我原来的测试是有缺陷的。