在Python中打开和读取文件的函数出现错误:NameError:未定义名称'xxxx'

问题描述

一切顺利!我有这个项目来检查用户输入的数据是否在文件中。都可以在Jupyter笔记本上使用,但是当我创建函数def时,我不断收到错误消息:NameError:未定义名称'fread'

这是文件夹结构:

main_code
  initial_list
  user_input
  validate_user_input

我认为该问题来自validate_user_input代码:

def check_input():
    for line in fread:
        if ui in line.split():
            return line

这是initial_list代码:

def initial_list():
    with open('test',mode='r+') as fopen:
        fread=fopen.readlines()
        return fread

这是user_input代码:

def user_input():
    ui=input('Enter name here: ')
    return ui

这是main_code代码:

from initial_list import initial_list
from user_input import user_input
from validate_user_input import validate_user_input

initial_list.initial_list()
user_input.user_input()
validate_user_input.check_input()

注意:

  • 所有文件夹都包含一个 init .py来调用该函数
  • 运行main_code.py使我能够输入数据(用户输入)
  • 试图在网上搜索,但没有运...哭...

请帮助,谢谢!

解决方法

将fread变量添加为函数的输入:

def check_input(fread):
  for line in fread:
      if ui in line.split():
          return line

然后,当您运行函数initial_list()时,它应该具有作为另一个输入的fread输入的输出,像这样。

myfread  = initial_list()
check_input(myfread)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...