另一个操作后运行方法

时间:2018-01-01 16:05:54

标签: python python-3.x exit-code

1。摘要

我不明白,我可以在另一个动作之后运行Python方法。

2。文件

我的.py文件示例:

# First test
for filename in first_folder:

    if "Sasha Great" in open(filename).read():
        log.debug(filename + " Done")
    else:
        print("First test failure for " + filename)

3。预期的算法

3.1。测试通过

如果所有测试都通过,请打印到控制台:

Test for all files successful passed

3.2。测试失败

如果,例如,SashaExample.txt的某个测试失败:

  1. print First test failure for SashaExample.txt;
  2. 继续首先测试另一个文件;
    1. 如果有更多错误First test failure for AnotherExample.txt,请将错误打印到控制台并继续测试;
  3. 运行所有测试后
  4. exit(1)
  5. 我需要exit(1),我可以看到,如果我使用Travis CI或AppVeyor,我的测试中会出现错误。

    4。没帮忙

    4.1。在else之后退出(1)

    如果

    for filename in first_folder:
    
        if "Sasha Great" in open(filename).read():
            log.debug(filename + " Done")
        else:
            print("First test failure for " + filename)
            exit(1)
    

    首次出错后程序结束。但我需要看到所有错误。

    4.2。另一次尝试

    1. 我在谷歌找不到如何解决我的问题;
    2. 我读过Python函数,方法atexit,但我不明白,我怎么能解决这个问题。

2 个答案:

答案 0 :(得分:1)

问题似乎是,如果出现任何故障,您需要在程序结束时调用exit(1)。如果是这种情况,您可以使用变量,例如failureFound,初始化为False(因为您还没有找到),并在您找到时设置为True失败。然后,在程序结束时,如果failureFound为真,请致电exit(1)

答案 1 :(得分:1)

这是一个简单的编程概念,称为FLAGS。谷歌有点,你会看到很简单。

squeue