Heim >Backend-Entwicklung >Python-Tutorial >Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

WBOY
WBOYnach vorne
2023-04-11 19:49:161194Durchsuche

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Xonsh ist eine Python-basierte, plattformübergreifende, Unix-orientierte Shell-Sprache und Eingabeaufforderung. Es handelt sich im Wesentlichen um einen Python-Interpreter mit einer guten Syntax zum Ausführen von Shell-Befehlen. So steht Ihnen die ganze Leistungsfähigkeit von Python in der gewohnten Shell-Umgebung zur Verfügung. Funktioniert auf allen gängigen Systemen, einschließlich Linux, OSX und Windows.

Bash-Skripte sind schnell und effizient für kleine oder Batch-Anwendungen. Eine der Einschränkungen von Bash ist die Handhabung mathematischer Funktionen und Gleitkommazahlen.

Wenn Sie ein Python-Programmierer sind, wird es Ihnen wirklich gefallen, es verfügt über eine riesige Bibliothek verfügbarer Funktionen.

Für Raspberry Pi-Benutzer bietet Xonsh viele Möglichkeiten, einige äußerst optimierte Skripte zu schreiben. Mit Python kann eine Verbindung zu Geräten und Sensoren von Drittanbietern hergestellt werden.

In diesem Artikel werde ich Xonsh anhand einiger Beispiele vorstellen.

Erste Schritte

Systemspezifische Installationsanweisungen finden Sie in der Xonsh-Dokumentation. Geben Sie zur Installation auf Raspberry Pi/Ubuntu/Debian Folgendes ein:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install xonsh

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Um Xonsh auszuführen, geben Sie einfach Folgendes ein: xonsh

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Xonsh wird standardmäßig mit einem Konfigurationsassistenten und einem Tutorial geliefert.

Mit Python

Python-Code kann direkt in der Befehlszeile eingegeben werden. Die Version von Python hängt davon ab, was auf dem zugrunde liegenden System geladen ist. So überprüfen Sie Ihre Version:

linuxmi@linuxmi ~/www.linuxmi.com $ import sys
linuxmi@linuxmi ~/www.linuxmi.com $ sys.version
'3.9.7 (default, Sep 10 2021, 14:59:43) n[GCC 11.2.0]'

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Wie bei der interaktiven Python-Schnittstelle sind keine Druckanweisungen erforderlich, um die Ausgabe anzuzeigen:

linuxmi@linuxmi ~/www.linuxmi.com $ 7+9
16
linuxmi@linuxmi ~/www.linuxmi.com $ a=5;b=6
linuxmi@linuxmi ~/www.linuxmi.com $ a+b
11
linuxmi@linuxmi ~/www.linuxmi.com $ i="Hello World!"
linuxmi@linuxmi ~/www.linuxmi.com $ i + " www.linuxmi.com"
'Hello World! www.linuxmi.com'

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Mit Bash

Xonsh Beginnen Sie mit Python, also beginnen Sie mit dem ls (Bash list-Befehl) als Beispiel:

Im obigen Beispiel wird ***ls*** zuerst als Bash-Listenbefehl verwendet, aber wenn eine Variable mit demselben Namen definiert ist, wird auf diese Variable verwiesen.

linuxmi@linuxmi ~/www.linuxmi.com $ ls
'VS Code.png' www.linuxmi.com.jpg www.linuxmi.com.py wwww.linuxmi.com
 linuxmi.comwww.linuxmi.com.mp4 www.linuxmi.png
linuxmi@linuxmi ~/www.linuxmi.com $ ls="这是一个变量www.linuxmi.com"
linuxmi@linuxmi ~/www.linuxmi.com $ ls
'这是一个变量www.linuxmi.com'

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

Das erste ls wird als Bash-Listenbefehl verwendet und das zweite ist die Xonsh-Anzeigevariable ls.

Xonsh behandelt Bash-Anweisungen als einzelne Zeilen. Das bedeutet:

  • Bash for/while/if-Anweisungen müssen alle in einer Zeile stehen
  • Denken Sie daran, Leerzeichen zwischen Zeichen zu verwenden
  • Zeilenerweiterungen (mit „“) werden nicht unterstützt
  • Bash-Funktionen werden nicht unterstützt unterstützt.
  • Sie können Funktionen in Python anstelle von Bash schreiben.

Python in Bash verwenden. Python-Anweisungen werden in Bash verwendet: @(Python-Anweisungen). Hier sind zwei Beispiele für die Verwendung von Python in Bash:

linuxmi@linuxmi ~/www.linuxmi.com $ import sys
linuxmi@linuxmi ~/www.linuxmi.com $ echo @(sys.version)
3.9.7 (default, Sep 10 2021, 14:59:43)
[GCC 11.2.0]
linuxmi@linuxmi ~/www.linuxmi.com $ echo @("LinuxMi.com=" +str(8+9))
LinuxMi.com=17

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf PythonBeispiel

linuxmi@linuxmi ~/www.linuxmi.com $ from tkinter import *
linuxmi@linuxmi ~/www.linuxmi.com $ root = Tk()
linuxmi@linuxmi ~/www.linuxmi.com $ canvas = Canvas(root, width = 500, height =
500)
linuxmi@linuxmi ~/www.linuxmi.com $ canvas.pack()
linuxmi@linuxmi ~/www.linuxmi.com $ img = PhotoImage(file="www.linuxmi.com.png")
linuxmi@linuxmi ~/www.linuxmi.com $ canvas.create_image(0,0, anchor=NW, image=im
g)
1
linuxmi@linuxmi ~/www.linuxmi.com $ mainloop()

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf PythonVerwendung von Bash in Python

Bash-Variablen können direkt in Python verwendet werden, zum Beispiel:

Verwenden Sie das Bash-Datum und das Problem mit Die Übergabe an Python

linuxmi@linuxmi ~/www.linuxmi.com $ now=$(date)
linuxmi@linuxmi ~/www.linuxmi.com $ print("现在的时间是: " + now)
现在的时间是: 2022年 04月 01日 星期五 19:17:13 CST

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python

kann bei der Arbeit zwischen verschiedenen Shells und Subshells etwas verwirrend sein. Manchmal bin ich verwirrt darüber, in welcher Shell ich arbeite. Der ps-Befehl sagt mir, ob xonsh* läuft:

linuxmi@linuxmi ~/www.linuxmi.com $ ps
PID TTYTIME CMD
 7966 pts/100:00:00 bash
 8044 pts/100:00:04 xonsh
11342 pts/100:00:00 ps

Teilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python Ich kann Xonsh-Skripte ohne Probleme an Bash-Skripte übergeben, aber ich finde, dass ich für bestimmte Vorgänge die Xonsh-Shell manuell beenden muss.

Zusammenfassung

Xonsh eignet sich für den täglichen Gebrauch sowohl für Experten als auch für Anfänger. Im Gegensatz zu anderen Shells basiert xonsh auf Python und fügt zusätzliche Syntax hinzu, die das Aufrufen von Unterprozessbefehlen, die Bedienung der Umgebung und die Arbeit mit Dateisystemen erleichtert. Die xonsh-Eingabeaufforderung bietet Benutzern interaktiven Zugriff auf die xonsh-Sprache.

Xonsh bietet viel Potenzial für Benutzer, die eine einfache Skriptlösung suchen.

Ich selbst würde wahrscheinlich bei einer Bash- oder Python-Lösung bleiben, aber ich habe auch andere Optionen.

Das obige ist der detaillierte Inhalt vonTeilen Sie eine leistungsstarke Shell-Sprache und Eingabeaufforderung basierend auf Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen