os.system(/ sbin / shutdown -r now)在写入之前先执行

时间:2018-01-30 05:22:45

标签: python python-2.7

我有一个检查网络连接的脚本。我在执行reboot命令之前写入文本文件时遇到问题。

在执行之前的脚本之前先运行reboot命令。

这是我脚本的一部分。

else:
                        text_file.write(trigger)
                        time.sleep(1)
                        os.system("/sbin/shutdown -r now")

我尝试在执行之前添加一个延迟,但它仍然先运行。

它不会写入文本文件并直接转到

os.system("/sbin/shutdown -r now") 

命令

如何在重新启动文本文件之前先将其写入文本文件。这是我的剧本。

if internet_on():
    with open("reboot_checker.txt", "r+") as text_file:
                    for line in text_file:
                        if trigger in line:
                            break
                    else:
                        text_file.write(trigger)
                        time.sleep(1)
                        os.system("/sbin/shutdown -r now")
                        # print("REBOOTING")


else:
    with open("reboot_checker.txt", "r+") as text_file:
                for line in text_file:
                    if trigger in line:
                        deleteLine()
                else:
                    pass

1 个答案:

答案 0 :(得分:4)

您仍然在文件上下文管理器(with open("...") as text_file部分)内发出重新启动。您写入的文件尚未关闭,因此尚未刷新。在发出命令之前执行text_file.flush()或在上下文管理器之外发出重新启动。