Seite 1 von 1

warum ist es so???

Verfasst: Donnerstag 20. September 2007, 15:09
von Blade1488
Ich bin so ziemlich frisch in der welt von programierer und ich lese gerade das buch : "A byte of Python" und ich habe da mal so eine frage!
warum musst man manchmal #!/usr/bin/python oder #!/usr/python oder manchmal auch nix eingeben und was hat es zu bedeuten?!
danke im vorraus

Verfasst: Donnerstag 20. September 2007, 15:17
von Rebecca
Diese Zeile nennt sich shebang und sagt einem Linux-System, wo es den Python-Interpreter finden kann. Fuehrst du ein Programm in der Kommandozeile so aus:

Code: Alles auswählen

meinprogramm.py
dann wird die besagte erste Zeile von Linux gelesen und das dort angegebene Programm (/usr/bin/python) mit meinprogramm.py als Argument gestartet. Das ist also so als wurdest du direkt

Code: Alles auswählen

/usr/bin/python meinprogramm.py
eingeben, in diesem Fall wird die Shebang nicht benoetigt.

Windows braucht die Shebang nicht, es nimmt stattdessen die Dateiendung als Erkennungsmerkmal her. Schaden tut die Shebang dort aber nicht.

@ Rebecca....

Verfasst: Donnerstag 20. September 2007, 15:23
von Blade1488
Danke!! jetzt weiß ich bescheid!!! jetzt muss ich nur noch damit klarkommen warum zb. 5 & 3 1 ergibt
oder 5 | 3 7 ergibt usw.... ^^ :oops:

Re: @ Rebecca....

Verfasst: Donnerstag 20. September 2007, 15:36
von helduel
Moin,
Blade1488 hat geschrieben:Danke!! jetzt weiß ich bescheid!!! jetzt muss ich nur noch damit klarkommen warum zb. 5 & 3 1 ergibt
oder 5 | 3 7 ergibt usw.... ^^ :oops:
& und | sind Binär-Operatoren. 5 in Binär-Notation ist 101, 3 ist 011. Jetzt passiert folgendes:

Code: Alles auswählen

  101
& 011
-----
  001

  101
| 011
-----
  111
001 binär ist 1. 111 binär ist 7.

Kannst ja mal in der Wikipedia unter "Dualsystem" nachschauen.

Gruß,
Manuel

Verfasst: Donnerstag 20. September 2007, 16:24
von jens
@Blade1488: Für Einsteiger empfiehlt es sich, mal hier einen Blick drauf zu werfen:
[wiki]FAQ[/wiki]
[wiki]Tutorial[/wiki]
:lol:

Verfasst: Samstag 22. September 2007, 19:23
von lunar
Rebecca hat geschrieben:Diese Zeile nennt sich shebang und sagt einem Linux-System, wo es den Python-Interpreter finden kann. Fuehrst du ein Programm in der Kommandozeile so aus:

Code: Alles auswählen

meinprogramm.py
dann wird die besagte erste Zeile von Linux gelesen und das dort angegebene Programm (/usr/bin/python) mit meinprogramm.py als Argument gestartet. Das ist also so als wurdest du direkt

Code: Alles auswählen

/usr/bin/python meinprogramm.py
eingeben, in diesem Fall wird die Shebang nicht benoetigt.

Windows braucht die Shebang nicht, es nimmt stattdessen die Dateiendung als Erkennungsmerkmal her. Schaden tut die Shebang dort aber nicht.
Nebenbei orientieren sich manche Editoren auch am Shebang, wenn sie die Sprache einer Datei herausfinden müssen. Mithilfe des Shebands highlighted emacs auch Python-Dateien ohne Endung korrekt ;)