全局文件变量在函数外部不可访问(Python)
当按下按钮时,变量日志打开带有时间戳的文件,当按钮关闭时,变量日志应关闭。 但是,我无法关闭在另一个函数中打开的文件,即使该文件已声明为全局文件。我尝试将“全局文件”放在这两个函数之外,但都不起作用全局文件变量在函数外部不可访问(Python),python,file,io,global-variables,Python,File,Io,Global Variables,当按下按钮时,变量日志打开带有时间戳的文件,当按钮关闭时,变量日志应关闭。 但是,我无法关闭在另一个函数中打开的文件,即使该文件已声明为全局文件。我尝试将“全局文件”放在这两个函数之外,但都不起作用 if button_status==True: #Press start if First_run==True: #Start a new logfile global log log=open(Fname,'a') log.writelin
if button_status==True: #Press start
if First_run==True: #Start a new logfile
global log
log=open(Fname,'a')
log.writelines(header)
First_run=False
#Other code here
if button_status==False:#press stop
log.close()
First_run=True
尝试在文件顶部附近放置类似于
log=True的内容,以便在任何方法或类之外声明它。然后去掉全局日志
行,它应该在任何地方都可以访问。尝试在文件顶部附近放置类似log=True的内容,以便在任何方法或类之外声明它。然后去掉全局日志
行,它应该在任何地方都可以访问。global
是在函数外部引用变量时需要的
log = False
if button_status==True: #Press start
if First_run==True: #Start a new logfile
global log
log=open(Fname,'a')
log.writelines(header)
First_run=False
#Other code here
if button_status==False:#press stop
global log
log.close()
First_run=True
在函数外部引用变量时,需要使用global
log = False
if button_status==True: #Press start
if First_run==True: #Start a new logfile
global log
log=open(Fname,'a')
log.writelines(header)
First_run=False
#Other code here
if button_status==False:#press stop
global log
log.close()
First_run=True
看起来它试图在打开之前关闭,您可以在那里尝试/除此之外绕过它,或者测试log
的变量类型。在初始化过程中,按钮的状态是否设置为False?是的。我们需要try/Except在Fname为全局变量的情况下,通过打开和关闭按钮来修复此问题。log=open(Fname,'a')log.close()看起来像是在试图在打开之前关闭,您可以在那里尝试/除此之外绕过它,或者测试变量类型log
。在初始化过程中,按钮的状态是否设置为False?是的。我们需要try/Except在Fname为全局变量的情况下,通过打开和关闭按钮来修复此问题。log=open(Fname,'a')log.close()看起来像是在试图在打开之前关闭,您可以在那里尝试/除此之外绕过它,或者测试变量类型log
。在初始化过程中,按钮的状态是否设置为False?是的。我们需要try/Except在Fname为全局变量的情况下,通过打开和关闭按钮来修复此问题。log=open(Fname,'a')log.close()如果
s位于函数声明中,那么这3个是吗?在Fname为全局变量的情况下,通过在未按下按钮时打开和关闭来修复它。log=open(Fname,'a')log.close()如果
s位于函数声明中,那么这3个是吗?在Fname为全局变量的情况下,通过在未按下按钮时打开和关闭来修复它。log=open(Fname,'a')log.close()如果
s位于函数声明中,那么这3个是吗?在Fname为全局变量的情况下,通过在未按下按钮时打开和关闭来修复它。log=open(Fname,'a')log.close()