2301_82244407 2025-04-23 01:40 采纳率: 0%
浏览 4

深度学习的python

img


为什么session_state一直是没找到初始值,然后没法
if 'available_cameras' not in st.session_state:
st.session_state['available_cameras'] = self.get_camera_names()
初始化调了好几次

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-23 01:40
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    深度学习的python

    你遇到了一个问题,关于使用 session_state 在 Streamlit 中保存状态,但是发现 session_state 始终是没有找到初始值的。

    问题的原因可能是 Streamlit 的 session_state 只能在一个会话中生效,如果你想要在不同的会话中保存状态,你需要使用其他方法。

    一个解决方案是使用 st.session_stateclear 方法来清除之前的状态,然后使用 if 'available_cameras' not in st.session_state: 来检查状态是否存在。

    例如:

    if 'available_cameras' not in st.session_state:
        st.session_state['available_cameras'] = []
    

    这将检查 available_cameras 是否在 session_state 中,如果不存在,则创建一个空列表。

    如果你想要在不同的会话中保存状态,可以使用 st.cache 函数来缓存数据。

    @st.cache
    def get_available_cameras():
        # 你的代码来获取可用摄像头
        return available_cameras
    

    这将在每个会话中缓存 available_cameras 的值。

    希望这些解决方案能够帮助你解决问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月23日