Python 有没有办法在类外对函数进行自初始化?
我每次执行程序时都需要运行这段代码(它会清空文件夹): 我想知道是否有一种自动调用函数的方式比先定义函数,然后再调用函数更方便 我试着将Python 有没有办法在类外对函数进行自初始化?,python,initialization,Python,Initialization,我每次执行程序时都需要运行这段代码(它会清空文件夹): 我想知道是否有一种自动调用函数的方式比先定义函数,然后再调用函数更方便 我试着将\uuuu init\uuuu放在类之外,只是想看看,但正如预期的那样,它的行为就像一个普通函数,需要调用 import os def __init__(): delete_stuff # this runs but does nothing on its own 这不是生死攸关的问题,显然,我只是好奇是否有一个我不知道
\uuuu init\uuuu
放在类之外,只是想看看,但正如预期的那样,它的行为就像一个普通函数,需要调用
import os
def __init__():
delete_stuff # this runs but does nothing on its own
这不是生死攸关的问题,显然,我只是好奇是否有一个我不知道的简单解决方案
谢谢
编辑以澄清如果在块中调用函数,它将在启动包时自动执行
import os
def ClearOutputFolder():
''' Clear 'Output/' directory '''
for file in os.listdir('Output'):
file_path = os.path.join('Output', file)
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print(e)
def main():
ClearOutputFolder()
if __name__ == '__main__':
main()
如果希望在导入时调用,可以执行以下操作:
import os
def ClearOutputFolder():
''' Clear 'Output/' directory '''
for file in os.listdir('Output'):
file_path = os.path.join('Output', file)
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print(e)
ClearOutputFolder() # this call is executed upon importing the package
你能解释一下“构建程序”是什么意思吗?请考虑添加一个代码示例,或者修改你在这个问题中发布的代码。目前,它的格式和范围使我们很难帮助您;这是一个让你开始学习的方法。祝你的代码好运!您是否正在尝试在调用脚本时自动运行函数?这可以通过在
中运行main()
来实现,如果
block@Paritosh对不起,我在用升华文字思考。我的意思是执行。如果调用它的代码写在文件中,它将运行。如果不调用该函数,它将不会运行。只需在同一个文件中添加对函数的调用。我希望代码更加精简,我想这是一个很好的解决方案。我还可以将该函数作为方法添加到我的类中,以用于该项目,但老实说,该函数不属于该类。谢谢你的回复。
import os
def ClearOutputFolder():
''' Clear 'Output/' directory '''
for file in os.listdir('Output'):
file_path = os.path.join('Output', file)
try:
if os.path.isfile(file_path):
os.unlink(file_path)
except Exception as e:
print(e)
ClearOutputFolder() # this call is executed upon importing the package