试图用我的脚本来简化大量重复的读写,但我不知道如何从def函数中获取数据。在
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)
我希望存储在余额.txt但它总是说readvar没有定义。我只是在我运行的函数中定义了它。我非常困惑
在Python中,函数内部的变量通常不能从外部访问(查找变量作用域)。您可以在函数的末尾放一个
return
语句来返回变量(在本例中是readvar
)(您几乎总是应该这样做)。然后可以将返回的参数(readvar
)分配给一个新变量(例如rv
)。你也可以给它取相同的名字。在简单。试试这个
def personal_data():
fname=个人数据()
打印(fname)
您无法看到
readvar
的值,因为它只是在readfile
函数的作用域内本地定义的,而不是全局定义的,因为您试图在调用print(readvar)
时使用它。在如果您需要一个值在函数的作用域之外保持不变,则必须
return
将其保存到调用函数的位置,如下所示:我还建议在执行文件操作时使用
^{pr2}$with
块。最佳做法是确保文件句柄正确关闭,即使发生异常。这样可以改进对操作可能遇到的任何错误的处理。例如:如果您想逐行访问文件,我们只需在
with
范围内包含一个for
循环。例如,打印文件的每一行:相关问题 更多 >
编程相关推荐