2017-07-19 141 views
0

我用os.system()通過cd更改目錄就像一個功能follwing:os.system()無法在每次第一次執行我的命令時,爲什麼?

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

是在每個測試用例

什麼導致了錯誤的開始位置?

+0

你可以提供一個[簡短但完整的程序(https://stackoverflow.com/help/mcve),演示了您遇到的問題? –

回答

2

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

使用os.system()您正在執行命令,但使用os.chdir()時,您正在將當前工作目錄更改爲給定路徑。對於這種情況,更具說服力。

相關問題