os.system的问题

os.system的问题

为什么我出问题了
xx = os.system('ls')
print xx
显示的是0或者非0,怎么样把系统的ls命令的结果写入xx
应该是xx = os.popen('dir')
然后print xx.read()
谢谢


[Copy to clipboard] [ - ]
CODE:
Help on built-in function system in module posix:

system(...)
    system(command) -> exit_status

    Execute the command (a string) in a subshell.

os.system 返回的是命令执行的返回值,ls 执行成功了,返回0,所以你的 xx 就是0了~
不好意思,我还有疑问,
xx = os.popen('dir')
如果我os.popen('sudo apt-get update')
print xx.read()
这句print会等系统命令执行完了才显示,有没有办法同步显示啊?


QUOTE:
原帖由 xubizhen 于 2008-10-23 10:39 发表
不好意思,我还有疑问,
xx = os.popen('dir')
如果我os.popen('sudo apt-get update')
print xx.read()
这句print会等系统命令执行完了才显示,有没有办法同步显示啊?

那就用os.system好了,汗……
TK下用os.system不会显示在TK上啊,只会显示在SHELL上
NAME
    commands - Execute shell commands via os.popen() and return status, output.

FILE
    /usr/lib/python2.5/commands.py

MODULE DOCS
    http://www.python.org/doc/current/lib/module-commands.html

DESCRIPTION
    Interface summary:
   
           import commands
   
           outtext = commands.getoutput(cmd)
           (exitstatus, outtext) = commands.getstatusoutput(cmd)
           outtext = commands.getstatus(file)  # returns output of "ls -ld file"


QUOTE:
原帖由 xubizhen 于 2008-10-23 13:34 发表
TK下用os.system不会显示在TK上啊,只会显示在SHELL上

晕,你也没说要显示在TK上啊……
不好意思,呵呵