visual studio code

visual studio code : 사이드메뉴 만들기,파일저장,업로드 sidebox/file_uploader

공부짱짱열심히하기 2022. 12. 13. 11:53
import streamlit as st
import pandas as pd 
import os 
from datetime import date, datetime
from PIL import Image
 

함수 정의 
디렉토리(폴더)명과 파일을 알려주면,
해당 디렉토리에 파일을 저장해 주는 함수.

 

def save_uploaded_file(directory, file) :
    # 1. 디렉토리가 있는지 확인하여, 없으면 먼저, 디렉토리부터 만든다.
    if not os.path.exists(directory) :
        os.makedirs(directory)

    # 2. 디렉토리가 있으니, 파일을 저장한다.
    with open(os.path.join(directory, file.name), 'wb') as f:
        f.write(file.getbuffer())
    
    # 3. 파일 저장이 성공했으니, 화면에 성공했다고 보여주면서 리턴
    return st.success('{} 에 {} 파일이 저장되었습니다.'.format(directory, file.name))

 

st.sidebar.selectbox('제목' , 리스트,]

 

st.file_uploader('제목', type=파일타입)

파일명을 일관성있게, 회사의 파일명 규칙대로 바꾼다.
현재시간을 조합하여 파일명을 만들면, 
 유니크하게 파일명을 지을수 있다.

 if file is not None :
 
 	current_time = datetime.now()
    current_time = current_time.isoformat().replace(':','_')
    file.name = current_time + '.jpg'

파일저장

save_uploaded_file('tmp', file)

 

필요한 import문

import streamlit as st
import pandas as pd 
import os 
from datetime import date, datetime
from PIL import Image

업로드 
def save_uploaded_file(directory, file) :
    if not os.path.exists(directory) :
        os.makedirs(directory)

    with open(os.path.join(directory, file.name), 'wb') as f:
        f.write(file.getbuffer())
    
    return st.success('{} 에 {} 파일이 저장되었습니다.'.format(directory, file.name))


업로드 화면
st.file_uploader('제목', type=파일타입)


파일 업로드시 화면에 저장
 if file is not None :
 
  current_time = datetime.now()
    current_time = current_time.isoformat().replace(':','_')
    file.name = current_time + '.jpg'


파일저장
save_uploaded_file('tmp', file)


사이드 메뉴

st.sidebar.selectbox('제목' , 리스트,]