在python中调用函数

2024-06-26 01:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个函数“a”和“b”b“在用户上传文件时调用。”b“重命名文件并返回新的文件名。在那之后,文件应该被编辑。像这样:

def a():
    edits file

def b():
    renames file  
    return file

所以如果b发生并结束,a应该发生。一旦“b”returns file,函数就结束了,之后什么也没有发生。正是在这一点上,我希望“a”发生,这怎么可能呢?现在我用计时器叫“a”

t=Timer(1.0,a)
t.start() 

但这不是个好办法。我试过使用全局变量,但不起作用。我也试过return file, a(),因为我想那时a可能会开始。 有类似if b(): a()的东西吗?你知道吗

有什么建议吗?你知道吗


Tags: 文件函数用户编辑return文件名defstart
3条回答

只需在b中调用a

def b():
    ...
    a()

def a():
    ...

b()

您可以很容易地从b()中调用a(),并且您可以使其仅在b使用多个返回点成功运行时才被调用。你知道吗

def a():
    something

def b():
    something
    if something goes wrong:
        return None or someError
    something
    a()
    return correct result

只有一个return会运行,因此如果您正在测试并发现b没有成功运行,您可以提前返回一个值(或不返回任何内容),这样它就永远不会到达调用a的点。你知道吗

b定义中调用a()

def a(file):
   ## edit_file

def b(file):
   ## rename_file 
   a(file)
   return file

相关问题 更多 >