【发布时间】:2021-08-31 09:55:48
【问题描述】:
我正在使用 streamlit 创建应用程序。每当我从选择菜单中选择一个选项时,它都会引发错误:
IndexError:列表索引超出范围
追溯:
python\python39\lib\site-packages\streamlit\script_runner.py", line 338, in _run_script
exec(code, module.__dict__)
in <module> get_option(option)
in get_option result = summarise_video(article_url)
in summarise_video video_id = video_url.split("=")[1]
但是当我提供数据时它工作正常。
这里是代码
def get_option(option):
if option == "Text Summarisation":
sentence = st.text_area('Enter your text here...')
st.button('Summarise')
if st.button:
st.write("Your Summary")
result = summarise_text(sentence)
st.write(result)
elif option == "Video Summarisation":
video_url = st.text_input('Enter youtube url here...')
st.button('Summarise')
if st.button:
result = summarise_video(video_url)
st.write(result)
else:
article_url = st.text_input('Enter article url here...')
st.button('Summarise')
if st.button:
result = summarise_video(article_url)
st.write(result)
option = st.sidebar.selectbox(
"Select option", ("Text Summarisation", "Web Scrapping", "Video Summarisation"))
get_option(option)```
Any help would be appreciated. Thanks in advance.
【问题讨论】:
-
video_url.split("=")[1]video_url 为空或不包含=。这不是流光相关的错误,这是函数summarise_video中的逻辑错误。 -
我试过调试它。视频网址包含值以及“=”
-
代码也正常运行并给出了预期的结果。只是在输入 url 之前,它显示了这个错误。
-
堆栈跟踪告诉您
summarise_video在尝试拆分字符串时会引发错误。你能发布你的“总结视频”方法吗?还。输入视频 URL 后立即将其打印出来,并告诉我您为该视频获得的值youtube.com/watch?v=dQw4w9WgXcQ -
哦。没关系。只需阅读“代码也正常运行并给出了预期的结果。只是在输入 url 之前,它显示了这个错误。”在这种情况下...代码按预期执行。