2017-01-13 3 views

Antwort

5

starten (Batch-Python-Skript polyglott):

0<0# :^
''' 
@echo off 
echo batch code 
python %~f0 %* 
exit /b 0 
''' 

print("python code") 

die ''' jeweils beginnt und endet mit mehreren Leitungen Kommentare Python.

0<0# : ^ ist interessanter - aufgrund Umleitung Priorität im Batch wird es wie :0<0# ^ durch den Batch-Skript interpretiert werden, die ein Etikett ist, die Ausführung wird nicht auf dem Bildschirm angezeigt werden. Die Einfügemarke am Ende wird die neue Zeile und die zweite Zeile wird an die erste Zeile angefügt. Für Python wird es 0<0 Anweisung und ein Anfang des Inline-Kommentars sein.

Der Kredit geht an siberia-man

+0

Was ist, wenn ich will Ausführung Interpreter ausführen ipython? – quantCode

+0

@quantCode - ehrlich, ich weiß es nicht.Ich habe noch nie von Ipython gehört. Darf seine Syntax gleich sein? Hast du es versucht? – npocmaka

+0

Es scheint nicht auf ipython-Code zu arbeiten, einige Elemente werden nicht erkannt. – quantCode

0

Eine andere Lösung ist, in einer Zeile:

''' 
@echo off & python -x "%~f0" %* & goto :eof 
print "Hello 123" 
''' 
+0

Wenn Sie keinen Batch-Code zum Ausführen haben, sicher, aber was ist der Sinn der Einbettung in einen Batch-Skript, wenn das der Fall ist? – SomethingDark

+0

Sie müssen nur darauf klicken ...., keine Notwendigkeit für separate Datei – quantCode

+0

Aber wenn Sie .py-Dateien mit Python.exe verbinden, können Sie einfach auf diese ... – SomethingDark

Verwandte Themen