Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法在类外对函数进行自初始化?_Python_Initialization - Fatal编程技术网

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