gpt4 book ai didi

python - 将模块导入 python shell

转载 作者:行者123 更新时间:2023-12-01 03:19:24 26 4
gpt4 key购买 nike

我尝试直接从 python shell 测试我的文件,而不是在我的 .py 文件中运行它。但是,每当我导入模块并调用函数时,它都会显示 NameError: name 'evaluate_essay' 未定义,即使它已定义。我该如何解决?

以下是该程序的代码:

def evaluate_essay(essayFilename):
fileList= []
file= open(essayFilename, "r")
fileList= [file.read().split()]
file.close()
longWords=0
medWords=0
shortWords=0
#nested for loop that checks every word in list
for i in range (len(fileList)):
for k in range (len(fileList[0])):
if (len(fileList[0][k])) >= 7:
longWords += 1
if 4<=(len(fileList[0][k]))<=6:
medWords += 1
if (len(fileList[0][k])) <= 3:
shortWords += 1
#if statements that determines level of each essay
if (longWords) >= (len(fileList[0])/2):
print ("This is a COLLEGE LEVEL essay")
elif (longWords)>(medWords) and (longWords)>(shortWords):
print ("This is a HIGH SCHOOL LEVEL essay")
elif (medWords)>(longWords) and (medWords)>(shortWords):
print ("This is a MIDDLE SCHOOL LEVEL essay")
else:
print ("This is an ELEMENTARY SCHOOL LEVEL essay")

evaluate_essay()

最佳答案

首先,从脚本中删除对 evaluate_essay 的调用,或者为其提供一个参数。您当前在不带参数的情况下调用它,但它需要一个。

要从交互式 session 中调用此函数,您首先需要导入该模块。必须满足以下条件之一。

  1. 您的解释器 session 正在包含该模块的目录中运行。
  2. 该模块位于 PYTHONPATH 的目录中。

现在,在解释器中,有两种方法。一种是导入模块并使用其名称为其属性添加前缀引用,如下所示。

import problem3
problem3.evaluate_essay(my_file_name)

另一种方法是显式导入函数并使用其不合格的名称。

from problem3 import evaluate_essay
evaluate_essay(my_file_name)

关于python - 将模块导入 python shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42075711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com