streamlit

Visual Studio Code : 다른 파일에서 함수 가져와 사용하기

왕현성 2022. 12. 13. 11:59
728x90

실제 작업은 app8.py에서 할 것인데, 코드가 너무 길어질 수 있고 유지보수작업을 수월하게 하기 위해서 다른 파일에서 함수를 만들고 그 함수를 import해서 작업을 하는 과정이다.

 

app.eda.py

import streamlit as st
import pandas as pd

def run_eda_app() :
    st. subheader ('EDA 화면')
    df=pd.read_csv('Github/streamlit/streamlit_data/iris.csv')

    st.dataframe(df)

    st.dataframe(df.corr())

app.home.py

import streamlit as st

def run_home_app() :

    st.subheader('Home 화면')

    st.text('홈화면에서 할 일을 여기에 코딩합니다.')

app.ml.py

import streamlit as st

def run_ml_app() :
    st.subheader('머신러닝 화면')

 

app8.py

다른 파일의 함수를 호출하고 싶으면, 함수를 import먼저 해준다.

import streamlit as st

from app_home import run_home_app ## app_homp.py에서 만든 함수 import
from app_eda import run_eda_app ## app_eda.py에서 만든 함수 import
from app_ml import run_ml_app  ## app_ml.py에서 만든 함수 import

def main() :
    st.title('파일 분리 앱')

    # Exploratory Data Analysis
    menu = ['Home','EDA','ML','About']
    choice = st.sidebar.selectbox('메뉴',menu)

    if choice == 'Home' : ## app_homp.py에서 만든 함수 사용
        run_home_app()
    elif choice =='EDA' : ## app.eda.py에서 만든 함수 사용
        run_eda_app()
    elif choice =='ML' : ## app_ml.py에서 만든 함수 사용
        run_ml_app()
    elif choice == 'About' :
        pass

    


if __name__ == '__main__':
    main()

 

Ctrl + 함수 클릭 (예 : run_home_app() ) 을 하면 자동으로 함수가 정의되어있는 파일로 넘어가진다