warum ist es so???

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Blade1488
User
Beiträge: 3
Registriert: Donnerstag 20. September 2007, 15:04

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
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

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.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Blade1488
User
Beiträge: 3
Registriert: Donnerstag 20. September 2007, 15:04

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:
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

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
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

@Blade1488: Für Einsteiger empfiehlt es sich, mal hier einen Blick drauf zu werfen:
[wiki]FAQ[/wiki]
[wiki]Tutorial[/wiki]
:lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
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 ;)
Antworten