2010-06-10 25 views
3

首先是不做作業,我在絕望需要一個腳本,將做到以下幾點,我的問題是,我從來沒有對付蟒蛇之前,所以我幾乎不知道如何使用它 - 我需要它在TeamCity的通過命令行編譯亞軍推出的單元測試Python:獲取當前目錄中的所有exe文件並運行它們?這一切

我需要的恰恰是:

將要運行腳本

一個python腳本,將一個* .bat文件:

  • 獲取當前所有的* _test.exe文件工作目錄是哪個搜索結果

問候

+0

爲什麼你需要涉及到的Python,不能單純使用批處理文件來啓動這些程序? – 2010-06-10 12:11:20

+0

我們每天都在加重測試,我們不希望編輯的批處理文件,我們每次添加新的東西的時候,我們需要一個靈活的解決方案 – Maciek 2010-06-10 12:19:30

+0

是你與我發佈的代碼獲得什麼錯誤或問題? – 2010-06-10 17:30:53

回答

5
import glob, os 
def solution(): 
    for fn in glob.glob("*_text.exe"): 
     os.startfile(fn) 
+0

這個解決方案工作。我的另一個問題是:我可以讓腳本等到當前進程完成執行嗎? – Maciek 2010-06-10 12:18:37

+2

附加'進口subprocess'和變化'os.startfile(FN)''到P = subprocess.Popen([FN]); p.wait()'。 p.wait()也會給你返回碼,所以你可以做一些類似'if p.wait()== 0:print'Success';否則:打印'失敗' – 2010-06-10 12:53:17

+0

這樣做,歡呼韋恩和牛仔 – Maciek 2010-06-10 13:51:44

3

如果複製到一個文件這

  • 運行的所有文件,腳本應該做你問。

    import os  # Access the operating system. 
    
    def solution(): # Create a function for later. 
        for name in os.listdir(os.getcwd()): 
         if name.lower().endswith('_test.exe'): 
          os.startfile(name) 
    
    solution()  # Execute this inside the CWD. 
    
  • +0

    有這個解決方案的問題:) – Maciek 2010-06-10 12:18:04

    相關問題