하나의 소스 코드 파일로는 문제가 발생하면 수정시 긴 내용을 읽어야 하는 가독성으로 인한 시간 지연과
하나의 파일이므로 잘못 수정시 안정성의 문제로 치명적 손상을 입을 수 있다.
그렇기 때문에 프로그램의 안정성을 고려하여 특정 기능을 하는 함수들을 파일화하여
메인파일에 import 해서 사용하는 것을 권장한다.
이렇게 사용하면 특정 기능들이 문제가 되어도 해당 서브 파일만 수정하면 되서 유지성이 상승한다.
메인파일 코드
import streamlit as st
# 다른 파일의 함수를 호출하고 싶으면, 함수를 임포트 한다.
from app8_home import run_home_app
from app8_EDA import run_eda_app
from app8_ML import run_ml_app
from app8_about import run_about_app
def main():
st.title('파일 분리 앱')
menu = ['Home', 'EDA', 'ML', 'About']
choice = st.sidebar.selectbox('메뉴', menu)
if choice == 'Home':
run_home_app()
elif choice == 'EDA':
run_eda_app()
elif choice == 'ML':
run_ml_app()
elif choice == 'About':
run_about_app
if __name__ == '__main__':
main()
서브파일 코드
# app8_home.py 파일
import streamlit as st
def run_home_app():
st.subheader('Home 화면입니다.')
st.text('홈 화면에서 할 일을 여기에 코딩합니다.')
# app8_EDA.py 파일
import streamlit as st
import pandas as pd
def run_eda_app():
st.subheader('EDA 화면')
df = pd.read_csv('streamlit_data/iris.csv')
st.dataframe(df)
st.dataframe(df.corr())
# app8_ML.py 파일
import streamlit as st
def run_ml_app():
st.subheader('머신러닝 화면에서 할 일을 코딩합니다')
# app8_about.py 파일
import streamlit as st
def run_about_app():
st.subheader('프로젝트에 대해 설명합니다.')
'Streamlit' 카테고리의 다른 글
Streamlit - 수정 사항이 있으면 자동으로 갱신하도록 실행하기 (0) | 2022.12.20 |
---|---|
Streamlit - 웹 대시보드에서 차트 시각화 (2) (0) | 2022.12.16 |
Streamlit - 웹 대시보드에서 차트 시각화 (1) (0) | 2022.12.16 |
Streamlit - 유저가 업로드한 파일을 저장하는 방법 (0) | 2022.12.16 |
Streamlit - 유저에게 데이터를 입력 받는 방법 (0) | 2022.12.14 |