如何遍历整个python脚本,并且每次更改订单都会运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何遍历整个python脚本,并且每次更改订单都会运行相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个在Linux系统后台运行的脚本。我希望它检查是否满足某些条件;一旦他们有,跳过该部分代码,不再检查。

Loop = True
while True:
  V1 = None
  while True:
    print("Checked for vulnerability")
    if my_file.is_file():
        print('Virus is still there')
        time.sleep(6)
        os.system("rm /home/levi/Desktop/Trojan")
    else:
        print('Virus removed')
        V1 = False
        break

  print('Did this work')

我需要检查V1:if True,然后执行循环。当它循环时,将值设置为False并结束脚本 - 但它会卡在else语句中并且永远不会结束。我从未见过“做过这件事”。

答案

你已经把自己绑成了一个双无限循环的结。你设置了两个变量(Loop和V1,两个都是不好的名字),从不使用任何一个来控制循环。试试这个:当你完成时,只需要break循环。

while True:
    print("Checked for vulnerability")
    if my_file.is_file():
        print('Virus is still there')
        time.sleep(6)
        os.system("rm /home/levi/Desktop/Trojan")
    else:
        print('Virus removed')
        break

print('Did this work')
另一答案

你有两个无限循环,只能用break语句结束。你的代码中有一个break语句,但只有一个。 break语句只会突破它所处的最内部循环,在这种情况下,你的内部while循环。因此外部while循环永远不会结束。虽然有更好的编写代码的方法(如Prune指出的那样),但我会给出一个与原始代码紧密相关的建议:

V1 = True
while V1 is True:
    print("Checked for vulnerability")
    if my_file.is_file():
        print('Virus is still there')
        time.sleep(6)
        os.system("rm /home/levi/Desktop/Trojan")
    else:
        print('Virus removed')
        V1 = False

print('Did this work')

我仍然删除了外部的while循环,因为它没有任何目的。当然,除非您要向外循环添加更多内容而不仅仅是其他循环,否则您应该重新添加它。但是,在这种情况下,您应该按以下方式定义代码:

loop = True
V1 = True
while loop is True:
    while V1 is True:
        print("Checked for vulnerability")
        if my_file.is_file():
            print('Virus is still there')
            time.sleep(6)
            os.system("rm /home/levi/Desktop/Trojan")
        else:
            print('Virus removed')
            V1 = False
    # do something else here after ending the inner while loop

print('Did this work')

这确保了内部while循环只执行一次,无论外循环迭代多少次。

以上是关于如何遍历整个python脚本,并且每次更改订单都会运行的主要内容,如果未能解决你的问题,请参考以下文章

每次在 Python 脚本中进行更改时,VS Code 都会打开新浏览器

如何更新显示的值而不是每次在 Python 中打印?

如何在 python 中更改 IP 地址时可视化它们?

每次更改移动方向时,声音都会反复播放

每次日志文件更改时,linux脚本都会向我发送一封电子邮件

如何遍历一组颜色以更改键上的背景(按下/按下)