如何从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
)。 - 您也可以使用相同的名称。
-
其他资源:
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 readvarrv = readfile(“BAL.txt”)
print(rv)