有时当我在我的python脚本中运行一个函数并且函数给我一个不需要的输出时,我需要撤消这一步,然后尝试使用不同的参数再次运行该函数。如果我的函数给出了错误的输出,是否有一种方法可以让脚本撤消它所做的事情。只有一组参数,实现了所需的输出。
PS:通过运行该功能意味着进行永久性更改。
示例:
def function():
for i in range(parameters):
value = perform_operation(parameters[i]) #makes permanent changes
if value != some_value:
undo(perform_operation())
答案 0 :(得分:2)
你需要创建另一个函数,而不是清理main函数中的内容(删除新创建的文件,删除已安装的软件包等等)并使用它。
def main_func():
proc = subprocess.Popen('touch test test2')
return proc.returncode
def clean_main_func():
subprocess.Popen('rm test test2')
def __name__ == '__main__':
result = main_func()
if main_func() != 0 :
clean_main_func()
或者您可以提出错误然后抓住它:
def main_func():
proc = subprocess.Popen('touch test test2')
if proc.returncode !=0 :
raise Error
def clean_main_func():
subprocess.Popen('rm test test2')
def __name__ == '__main__':
try:
result = main_func()
except Error:
clean_main_func()
这是一个例子,希望它能回答你的问题。