如何在python / tkinter中的字符串变量中存储系统返回函数的输出

时间:2016-03-16 15:03:50

标签: python tkinter

查询:如何将os.system返回函数的输出存储到字符串变量中?

我尝试了以下代码,但它始终打印' 0'

  1. 未将user_name声明为StringVar()
  2. 使用以下代码查找用户名。

    user_name = os.system("ypcat passwd | grep $USER | awk -F ':' '{print $5}'")

  3. 我尝试打印为print user_name,但它会打印' 0'。
  4. 此外,无论我在哪里使用user_name作为变量来替换用户名,其打印为' 0'。
  5. 你能否分享你的输入/评论如何在python中存储系统调用的输出?

2 个答案:

答案 0 :(得分:1)

os.system()返回已执行命令的退出代码,因此有意义的是0.如果要存储已执行命令的输出,则应该使用subprocess.check_output()中的$rs = new JSONRecordSet(); $db_conn = pdoDB::getConnection(); $stmt=$db_conn->prepare($studentUpdateSQL); $retval=$stmt->execute(array(':surname'=>$surname, ':forename'=>$forename, ':email'=>$email, ':id'=>$id)); echo $retval; {3}}

答案 1 :(得分:0)

如前所述,您将从您发出的命令中获取返回代码,但必须有一种更简单的方法来获取用户名而不是您正在使用的用户名。
有多种方法可以做到,但最简单的方法之一是:

import os
user_name = os.environ['USERNAME']