2009-06-18 17 views
12

Bir toplu iş dosyasından bir python komut dosyasını çağırmak ve python komut dosyasından bir dönüş kodu almak için bir yöntem arıyorum. Kafa karıştırıcı biliyorum, ancak şu anda kullanımda olan bir sisteme dayanıyor. Tekrar yazabilirim, ama bu yol çok daha hızlı olur.Bat Dosyasından Python'u Çağırın ve Dönüş Kodunu Alın

Yani:

python somescript.py 
echo %ERRORLEVEL% 

Senaryoyu çıkıp exit() arayarak dönüş değeri ayarlayabilirsiniz piton komut dosyasında:

Bat ---------------------> Python 
    * call python file * 

Bat <--------------------------------- Python 
     * python does a load of work * 
     * and returns a return code * 

cevap

18

pencere kabuk ERRORLEVEL değişken dönüş kodunu kaydeder:

exit(15) 

Daha eski sürümlerde python t ilk sys modülünden exit() işlevi ithal etmek zorunda:

from sys import exit 
exit(15) 
+0

Bingo! Şerefe :) – Kezzer

+0

Errorlevel yalnızca bir sözde değişkendir, aslında ortamın hiçbir yerinde değil. – Joey

+2

% ERRORLEVEL% değişkeni zaten mevcutsa, bu çalışma DEĞİLDİR. Python bu durumda üzerine yazmaz (ancak doğru kodu döndürür - sadece değişken tarafından gizlenir!). – fmuecke

3

Dene:

import os 
os._exit(ret_value) 

Ayrıca kontrol etmelisiniz:

+0

Ve teşekkürler, her iki cevabınız da doğruydu, diğer tarafa da yarasa dosyasından ihtiyacım vardı. Tekrar teşekkürler. – Kezzer

İlgili konular