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

试图简化我的脚本中的许多重复读取和写入操作,但我不知道如何从中获取数据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

回答:

  • 在Python中,通常无法从外部访问函数内部的变量(查找变量作用域)。
  • 您可以return在函数的末尾放置一条语句以返回变量(readvar在这种情况下)(并且您几乎总是应该这样做)。
  • 然后,您可以将返回的参数(readvar)分配给新变量(例如rv)。
  • 您也可以使用相同的名称。
  • 其他资源:

    • Python范围和命名空间
    • 真正的Python:定义自己的Python函数

    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)

以上是 如何从python的def函数中获取数据 的全部内容, 来源链接: utcz.com/qa/424646.html

回到顶部