Saya mencoba membuat GUI sederhana dengan streamlit dan python untuk proyek analisis sentimen berbasis aspek saya, pengguna harus dapat mengunggah file .txt sehingga saya dapat menjalankan model pada file itu. Saya sudah membuat widget untuk mengunggah file. Pertanyaanku adalah:

File yang diunggah harus ditambahkan ke folder tertentu, bagaimana saya bisa menentukan lokasi yang tepat untuk menyimpan file yang diunggah?

uploaded_file = st.file_uploader('FILE UPLOAD')

(Ini adalah kode untuk widget unggahan)

0
dsuzer 7 Januari 2021, 15:53

2 jawaban

Jawaban Terbaik

Fungsi file_uploader tidak menyimpan file ke disk, ia menulis ke buffer BytesIO.

Kelas UploadedFile adalah subkelas dari BytesIO, dan karena itu "seperti file". Ini berarti Anda dapat meneruskannya ke mana saja di mana file diharapkan.

https://docs.streamlit.io/en/stable/api.html?highlight=file_uploader#streamlit.file_uploader

Jika Anda ingin menyimpan hasilnya sebagai file, gunakan kemampuan io file Python standar:

with open(filename, "wb") as f:
    f.write(buf.getbuffer())
3
Randy Zwitch 7 Januari 2021, 14:04

Anda dapat menentukan jalur seperti ini:

from pathlib import Path
path = "C:/Projects/ex1/your_file"
file_path = Path(path)

uploaded_file = st.file_uploader(file_path)
0
Raxodius 7 Januari 2021, 12:59