Python im Vergleich zu BASH

Python im Vergleich zu BASH

Ich habe in den letzten drei Wochen oder so Bash gelernt und es ist sehr einfach zu lernen, da es im Grunde nur Befehlszeileneingaben sind. Ich habe beschlossen, jetzt zu Python überzugehen, aber ich war die ganze Zeit über verloren, als ich versucht habe, es zu lernen. Meine Frage ist, dass sich bei Python alles um Zahlen, Listen, Variablen usw. zu drehen scheint. Während Bash mit den Befehlen viel einfacher zu sein scheint. Ich kann in Python kein einziges Beispiel finden, bei dem es eine Möglichkeit gibt, Dateien zu verschieben, Verzeichnisse zu ändern oder ähnliches. Ich habe das Gefühl, dass ich schon zu sehr an Bash gewöhnt bin, um Python zu lernen. Kann mir das bitte jemand erklären.

Antwort1

Bash ist keine Programmiersprache, sondern eine Shell, die darauf ausgerichtet ist, Befehle schnell einzugeben und auszuführen. Daher führen Sie andere Befehle aus, während Sie Ihre Arbeit erledigen (z. B. mvDateien und Verzeichnisse verschieben). Variablen sind in Bash begrenzt und da alle Befehle Zeichenfolgen sind, gibt es keinen Grund, sehr streng damit umzugehen. (Es ist jedoch möglich, Typen zu erzwingen, siehe help declare).

Python hingegen ist eine umfangreichere Programmiersprache mit mehr Sprachfunktionen. Anstatt andere Programme auszuführen, verwenden Sie integrierte Funktionen oder andere Funktionen aus Modulen (Bibliotheken in anderen Sprachen). Ein grundlegendes Tutorial zur Eingabe/Ausgabe in Python finden Sie unterhttp://docs.python.org/tutorial/inputoutput.html. Das gesamte Tutorial selbst ist lesenswert, wenn Sie mit der Programmierung in Python beginnen möchten.

Antwort2

osPython ist eine Programmiersprache und wie alle anderen Programmiersprachen ist sie darauf ausgelegt, Prozesse und Daten zu beschreiben. Die meisten Ihrer Fragen beziehen sich beispielsweise auf die API zum Betriebssystem im Modul os.chdir()und os.rename()(für den UNIX- mvBefehl).

Die Shell ist eine Betriebsumgebung, die Ihnen einen einfachen Zugriff auf das Betriebssystem auf verschiedenen Ebenen (Dateien, Prozesse usw.) ermöglichen soll. Sie enthält Programmierkonstrukte wie Variablen, Schleifen und Bedingungen, ist also in diesem Sinne eine Programmiersprache, wurde aber nicht als solche konzipiert – das hat sich weiterentwickelt. Mit einem Shell-Skript können Sie ganz erstaunliche Dinge tun – ich habe einmal ein Anrufverfolgungssystem geschrieben, das 60.000 Anfragen pro Monat verarbeitete. Es hat aber auch Einschränkungen, mit denen eine Computersprache besser umgehen kann.

Sie beispielsweisekönnteSchreiben Sie einen Webbrowser in Bash, aber das wäre ineffizient, insbesondere wenn Sie versuchen, die HTML-, CSS- und JavaScript-Seiten gleichzeitig herunterzuladen und Benutzereingaben zu verarbeiten. Eine Programmiersprache wie Python, die Zugriff auf Threads hat, würde dies effizienter handhaben.

Obwohl Python auch eine „Shell“ hat, ist diese nicht gerade benutzerfreundlich, um auf das Betriebssystem zuzugreifen. Aber sie ist brauchbar. Der Shell-Befehl mv * otherdirectorywürde in Python beispielsweise folgendermaßen geschrieben werden:

import os, glob
for fname in glob.glob('*'):
    os.rename(fname, 'otherdirectory')

Oder kompakter:

import os, glob
[os.rename(fname, 'otherdirectory') for fname in glob.glob('*')]

Die meisten Sprachtutorials erfordern, dass Sie zuerst die Sprache verstehen und später, wie sie mit dem Betriebssystem interagiert. Bei einer Shell müssen Sie zuerst verstehen, wie sie mit dem Betriebssystem interagiert.

verwandte Informationen