我有两个功能“a”和“b”。当用户上传文件时,会调用“b”。 “b”重命名文件并返回新文件名。之后,该文件应该被编辑。像这样:
def a():
edits file
def b():
renames file
return file
因此,如果b发生并结束,则应该发生。一旦“b”returns file
功能结束,之后就没有任何反应。正是在这一点上,我希望“a”发生,这怎么可能?现在我用计时器叫“a”
t=Timer(1.0,a)
t.start()
但这不是一个好的解决方案。我尝试使用全局变量,但它不起作用。我也试过return file, a()
因为我认为可能会开始。
是否有类似if b(): a()
的内容?
有人提出建议吗?
答案 0 :(得分:1)
只需致电a
中的b
:
def b():
...
a()
def a():
...
b()
答案 1 :(得分:1)
在a()
定义中调用b
:
def a(file):
## edit_file
def b(file):
## rename_file
a(file)
return file
答案 2 :(得分:0)
您可以轻松地从a()
内拨打b()
,并且只有在b
成功运行多个返回点时才能调用def a():
something
def b():
something
if something goes wrong:
return None or someError
something
a()
return correct result
。
return
只有一个b
会运行,所以如果您正在测试并发现a
没有成功运行,您可以过早地返回一个值(或者什么都没有),以便它永远不会到达调用architecture RTL of Entity_Name is
signal Reg_InputSignal : std_logic := '0';
begin
stim_proc : process(SYS_CLK)
begin
if (rising_edge(SYS_CLK)) then
Reg_InputSignal <= InputSignal;
if (InputSignal = '1' and Reg_InputSignal = '0') then
assert (SyncOutputSignal = '0') report "Bad Pulse..." severity error;
end if;
end if;
end process stim_proc;
的点。