python-2.x
  • data-analysis
  • emc
  • 2017-07-02 110 views 0 likes 
    0

    我只能使用python 2.6.6并且子进程不工作,所以我只需要使用os模块 下面是程序OS.system-将OS .system输出命令的输出添加到另一个os系统命令的命令

    import os 
    
    server = raw_input("server name:") 
    var = "symaccess -sid 239 list -type init | grep \"{0}\"".format(server) 
    wwn = os.system(var) 
    init = 'symaccess -sid 239 -type init show {0}'.format(wwn) 
    print init 
    os.system(init) 
    

    以上是我用来将一个os.system的输出添加到另一个os.system脚本,我得到执行的第一os.system但对于第二个即os.system(unit)不来,因为os.system(var)输出应被分配到一个变量为wwn。可能有人告诉如何将一个变量分配给os.system(init)

    在这里,在这个脚本,无功输出表示,一些X应分配给自己的,但它没有考虑X它以它为0。所以需要你的帮助来解释为什么它是零而不是X。最后这个X应该放置在init变量在{0}

    +0

    你是什么意思'subprocess'不工作?由于Python 2.6支持'subprocess'模块,所以'os.system'和'os.popen'都会折旧,您应该使用它。 – zwer

    +0

    我不知道,但每当我使用子进程它抛出错误,像没有像tht.so模块,我们可以得到这个使用操作系统模块的任何chamce。 – kalyanyellapu

    回答

    0

    os.system确实不是返回命令的输出 - 它返回错误级别。

    如果您需要命令输出,使用

    wwn = os.popen(var).read() 
    

    将从命令var输出分配给wwn

    被警告 - 输出完全返回,带有换行符。在使用之前,您可能需要使用strip()

    相关问题