【发布时间】:2021-06-23 23:32:35
【问题描述】:
我正在尝试访问我的变量,但它说名称未定义,我在这里阅读 pdf 文件
def read_pdf(file):
with open(file, "rb") as f:
pdf = pdftotext.PDF(f)
st.write('button clicked',file[:-4]+'.txt')
with open(file[4:-4]+'.txt', 'a') as f:
for page in pdf:
f.write("%s\n" % page)
return " ".join(pdf)
if st.button('read_pdf'):
para = read_pdf('qna/'+filename)
st.write('length of text: %s' % len(para))
在这里我可以得到段落的长度。
sentence = st.text_input('Input your Question here:')
if sentence:
st.write('length of text: %s' % len(para))
st.write('length of sentence: %s' % len(sentence))
但是这里说
NameError: name 'para' is not defined
【问题讨论】:
-
但是if条件满足,值应该在变量内
-
可能if条件不满足?如果将
para = read_pdf('qna/'+filename)放在 if 语句之外会发生什么? -
如果条件不满足那么为什么它在第一个
if条件内第一次打印。 -
是的,因为我在 if 语句中调用函数,所以它应该不在函数中