Streamlit ist bei Datenwissenschaftlern sehr beliebt, da Sie im Allgemeinen keine Frontend-Kenntnisse benötigen.
Sie stellen einfache und leicht zu implementierende Elemente und Widgets bereit, ohne viel Code schreiben zu müssen.
Ich habe Streamlit mehrmals in meinen ML/KI-Projekten verwendet und die Erfahrung war großartig. Sie können sich mehr auf das Schreiben der Logik konzentrieren und der Frontend-Teil (Design, Layout und mehr) wird von Streamlit sehr gut gehandhabt.
Ich habe mit Streamlit und Python eine Demo-Webanwendung erstellt, damit Sie verstehen können, was ich sage.
In dieser Webanwendung geht es um die Konvertierung eines Bildformats in ein anderes Format. Wenn Ihr Bild beispielsweise im PNG-Format vorliegt, können Sie es in ein JPEG-Bild konvertieren.
Der folgende Code erstellt die Benutzeroberfläche der Webapp.
import streamlit as st from imgconvrtr import convert_img_format from PIL import Image # Webpage setup st.set_page_config(page_title="Image Convrtr") st.title("Image Converter") st.write("Convert your images in one _click_") # File uploader uploaded_file = st.file_uploader( "Upload an image", type=["png", "jpg", "jpeg", "jfif", "bmp"] ) if uploaded_file is not None: # Show the uploaded image img = Image.open(uploaded_file) st.image(img, caption="Uploaded Image", use_column_width=True) # Show original image format st.write(f"Original format: {img.format}") # Output format selection format_options = ["PNG", "JPEG", "JFIF", "BMP"] output_format = st.selectbox("Choose output format", format_options) # Convert the image if img.format != output_format: if st.button("Convert"): converted_img = convert_img_format(uploaded_file, output_format.lower()) st.write(f"Image converted to {output_format}") # Download button st.download_button( label=f"Download as {output_format}", data=converted_img, file_name=f"image.{output_format.lower()}", mime=f"image/{output_format.lower()}" ) else: st.write("Select a different format... Yo!")
Jetzt haben Sie bereits eine kurze Vorstellung davon, was diese Webapp macht. Wir können direkt mit der Diskussion der in diesem Code verwendeten Komponenten beginnen.
Zu Beginn sehen Sie Seitenelemente wie st.title und st.write, die zum Festlegen des Seitentitels bzw. zum Anzeigen von Text auf der Seite verwendet werden.
Als nächstes sehen Sie ein Widget zum Hochladen einer Datei (in diesem Fall zum Hochladen eines Bildes). Sehen Sie, wie einfach es ist, einen Datei-Uploader zu erstellen.
st.image wird verwendet, um das vom Benutzer hochgeladene Bild anzuzeigen.
Dann haben wir ein Dropdown-Menü zur Auswahl verschiedener Formate, das mithilfe eines Selectbox-Widgets (st.selectbox) erstellt wird.
Jetzt können Sie sehen, dass wir zwei Schaltflächen haben (st.button und st.download_button). Sie sind beide gleich, aber es geht nur um Bequemlichkeit.
Der st.button zeigt ein Schaltflächen-Widget an, das wir hier für die Bildkonvertierung verwendet haben.
Der st.download_button ist nützlich, wenn der Benutzer die Datei direkt aus der App herunterladen muss.
Streamlit bietet zahlreiche Elemente und Widgets für verschiedene Zwecke.
Wenn Sie diese Webanwendung nun ausprobieren möchten, müssen Sie die erforderlichen Bibliotheken installieren:
pip install streamlit pillow
Hier ist die Bildkonvertierungsfunktion:
from PIL import Image import io # Function to convert image format def convert_img_format(image_file, frmat): with Image.open(image_file) as img: output_img = io.BytesIO() img.save(output_img, format=frmat.upper()) output_img.seek(0) return output_img
Führen Sie die App mit dem folgenden Befehl aus:
streamlit run <script_name>.py
Durch den tatsächlichen Skriptnamen ersetzen.
Das ist alles für den Moment.
Codieren Sie weiter✌✌
Das obige ist der detaillierte Inhalt vonMit Streamlit ist das Erstellen einer Webanwendung so EINFACH. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!