Come posso creare un semplice file BAT che eseguirà il mio script python situato in C: \ somescript.py?Creazione di un file BAT per lo script python
molte grazie
Come posso creare un semplice file BAT che eseguirà il mio script python situato in C: \ somescript.py?Creazione di un file BAT per lo script python
molte grazie
c:\python27\python.exe c:\somescript.py %*
Aprire una riga di comando (windowskey + R, 'cmd', <ENTER>) e tipo 'python -V', <entrano>.
Si dovrebbe ottenere una risposta, qualcosa come "Python 2.7.1".
In caso contrario, non è possibile installare Python. Risolvi prima questo.
Una volta che avete Python, il file batch dovrebbe essere simile
@echo off
python c:\somescript.py %*
pause
Ciò manterrà la finestra di comando di apertura dopo lo script termina, in modo da poter vedere eventuali errori o messaggi. Una volta che sei soddisfatto, puoi rimuovere la linea di "pausa" e la finestra di comando si chiuderà automaticamente al termine.
Grazie, ma cosa significa '@echo off' e'% * '? –
@the_prole per '@echo off' dai un'occhiata a -> https://technet.microsoft.com/en-us/library/bb490897.aspx?f=255&MSPPError=-2147217396 e'% * 'può prendere qualsiasi numero di argomenti. – Akshay
Basta semplicemente aprire un file batch che contiene questo due linee nella stessa cartella del vostro script python:
somescript.py
pause
è possibile dare l'intero codice, invece del nome del file ?? –
@RachitGupta somescript.py nell'esempio sopra è il nome file dello script python che si desidera avviare –
Ecco come si può mettere sia il codice lotto e il pitone uno in fila indiana:
0<0# :^
'''
@echo off
echo batch code
python %~f0 %*
exit /b 0
'''
print("python code")
il '''
rispettivamente avvia e termina i commenti multi linea di Python.
0<0# : ^
è più interessante: a causa della priorità di reindirizzamento in batch, verrà interpretato come :0<0# ^
dallo script batch che è un'etichetta che l'esecuzione non verrà visualizzata sullo schermo. Il caret alla fine sfuggirà alla nuova riga e la seconda riga sarà collegata alla prima riga. Per python sarà 0<0
e un inizio di commento in linea.
Il merito va a siberia-man
Se hai aggiunto Python al PATH allora si può anche semplicemente eseguire in questo modo.
python somescript.py
Sì, è facile, non è così buono se si dispone di più installazioni Python (ad esempio, ad esempio, 2.7 e 3.6) anche Python viene quasi sempre aggiunto al percorso quindi non penso che sia un problema troppo grande. – Simon
Un'opzione per quello è di fare una copia in ciascuna delle tue versioni python del file exe e rinominare in qualcosa di unico. python2.7.exe, python3.6.exe ecc. Quindi nella riga di comando puoi chiamarlo come python3.6 somescript.py –
sì terribilmente evidentemente ma efficace (perché non ci ho pensato?). Inoltre penso che 36 sia meglio di 3.6 e 27 per 2.7 il punto potrebbe causare confusione. – Simon
--- --- xxx.bat
@echo off
set NAME1="Marc"
set NAME2="Travis"
py -u "CheckFile.py" %NAME1% %NAME2%
echo %ERRORLEVEL%
pause
--- --- yyy.py
import sys
import os
def names(f1,f2):
print (f1)
print (f2)
res= True
if f1 == "Travis":
res= False
return res
if __name__ == "__main__":
a = sys.argv[1]
b = sys.argv[2]
c = names(a, b)
if c:
sys.exit(1)
else:
sys.exit(0)
Hi MK- Quando apro il Blocco note, incollare la vostra linea in lì e salvarlo e tenta di eseguirlo attraverso l'utilità di pianificazione di Windows, la finestra della riga di comando si apre per una frazione di secondo e poi si chiude. Non vedo una cartella python27 in C: \ è un problema? – Josh
Nel caso in cui sia utile, sto utilizzando Windows Server 2003 SP2 in ambiente a 64 bit – Josh
Bene, è necessario installare prima python. Vai a www.python.org e scarica la versione 2.7 –