如何从python的def函数中获取数据

发布于 2021-01-29 17:11:29

试图简化我的脚本中的许多重复读取和写入操作,但我不知道如何从中获取数据def readfile

def writefile(FILE, DATA):
    file = open(FILE, "w")
    X = str(DATA) 
    file.write(X)
    file.close()


def readfile(FILE):
    file = open(FILE, "r")
    readvar = file.read()
    file.close()


readfile("BAL.txt")
print(readvar)

我希望存储的值BAL.txt会返回,但始终表示readvar未定义。我只是在运行的函数中定义了它。

错误:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-6-f80fb5b2da05> in <module>
     14 
     15 readfile("test.txt")
---> 16 print(readvar)

NameError: name 'readvar' is not defined
关注者
0
被浏览
38
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    • 在Python中,通常无法从外部访问函数内部的变量(查找变量作用域)。
    • 您可以return在函数的末尾放置一条语句以返回变量(readvar在这种情况下)(并且您几乎总是应该这样做)。
    • 然后,您可以将返回的参数(readvar)分配给新变量(例如rv)。
    • 您也可以使用相同的名称。
    • 其他资源:

      def writefile(FILE, DATA):
      file = open(FILE, “w”)
      X = str(DATA)
      file.write(X)
      file.close()


      def readfile(FILE):
      file = open(FILE, “r”)
      readvar = file.read()
      file.close()
      return readvar

      rv = readfile(“BAL.txt”)
      print(rv)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看