os.system()无法在第一次执行我的命令,为什么?

时间:2017-07-19 08:55:38

标签: python shell

我使用os.system()更改目录cd,如下所示:

def xxx():
        os.system("cd ../../../../../..")
        print "move dir: "+os.getcwd()

然后我在脚本中使用这个函数7次:

def testcase():
    ……
    xxx();
    ……

if __name__=='__main__':
    testcase1()
    testcase2()
    ……
    testcase7()

日志显示我只成功了6次,第一次总是失败,如:

move dir: /home/tzhang/luatest/alphaless/.build/experimental_trusty/alphaless/tests/tests.py.rundirs/1

move dir: /home/tzhang/luatest/alphaless

move dir: /home/tzhang/luatest/alphaless

move dir: /home/tzhang/luatest/alphaless

move dir: /home/tzhang/luatest/alphaless

move dir: /home/tzhang/luatest/alphaless

move dir: /home/tzhang/luatest/alphaless
  

/home/tzhang/luatest/alphaless/.build/experimental_trusty/alphaless/tests/tests.py.rundirs/1

是每个测试用例开头的位置

导致错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

而不是os.system(),请使用os.chdir()

使用os.system()执行命令,但使用os.chdir(),您将当前工作目录更改为给定路径。对于这种情况,更加适应。