如何告诉Python脚本在运行后关闭
我是python的初学者。。。我写了一个简单的脚本,从一个网站中提取一些数据并保存到一个文本文件中,但在运行脚本后,它只是停留在那里,不会“终止”。因为我将作为windows任务运行它,所以我需要它在运行后自行关闭。有没有办法告诉python在脚本完成后关闭终端?我到处都看过了,似乎大多数人都在试图做相反的事情,在代码运行后保持它的打开状态。 不确定这是否重要,但我只是在运行.py文件,而不是在VS或PyCharm中。提前谢谢如何告诉Python脚本在运行后关闭,python,selenium-webdriver,Python,Selenium Webdriver,我是python的初学者。。。我写了一个简单的脚本,从一个网站中提取一些数据并保存到一个文本文件中,但在运行脚本后,它只是停留在那里,不会“终止”。因为我将作为windows任务运行它,所以我需要它在运行后自行关闭。有没有办法告诉python在脚本完成后关闭终端?我到处都看过了,似乎大多数人都在试图做相反的事情,在代码运行后保持它的打开状态。 不确定这是否重要,但我只是在运行.py文件,而不是在VS或PyCharm中。提前谢谢 from selenium import webdriver fro
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from datetime import date
driver = webdriver.Chrome()
driver.get("MyURL")
time.sleep(11)
first = driver.find_element_by_xpath('/html/body/main/div[2]/div/div/div/div[2]/div[1]/div/div[2]/div[2]/div/ul/table/tbody/tr[3]/td[2]/div/span[1]')
second = driver.find_element_by_xpath('/html/body/main/div[2]/div/div/div/div[2]/div[1]/div/div[2]/div[2]/div/ul/table/tbody/tr[2]/td[2]/div/span[1]')
third = driver.find_element_by_xpath('/html/body/main/div[2]/div/div/div/div[2]/div[1]/div/div[2]/div[2]/div/ul/table/tbody/tr[1]/td[2]/div/span[1]')
first = first.text
second = second.text
third = third.text
print(first, second, third)
today = date.today()
today1 = today.strftime('%b %d %Y')
list = (today1, first, second, third)
print(list)
file = open('test.txt', 'a')
file.write(today1)
file.write(' ')
file.write(first)
file.write(' ')
file.write(second)
file.write(' ')
file.write(third)
file.write('\n')
file.close()
driver.close()
1。您需要将正在运行的进程发送到后台,并从当前shell中删除关联的作业 按
Ctrl
+Z
并键入bg
将安装过程发送到后台
然后键入disown
现在可以关闭终端,进程仍将处于活动状态。您可以打开另一个终端并使用ps-aef
在我的例子中,进程id是14426
。不幸的是,没有简单的方法将其重新连接到另一个终端(请参见如何将终端连接到分离的进程?),除非您使用了基于屏幕的内容
两个人。可以使用以下命令:
whilekill-01426>/dev/null 2>&1;做睡眠5;完成;回显“ok”
当过程从另一个终端结束时,它将打印ok
。当然,您可以使用更复杂的内容更改此echo
命令
来源:好的,我发现了一些有效的方法。我注意到chromedriver进程即使在执行了行driver.close()
之后仍在运行。我继续并终止了进程,脚本立即关闭。我猜driver.close()
会关闭chrome窗口,但没有杀死chromedriver,因此脚本挂起等待进程退出。我用driver.quit()
替换了driver.close()
,现在脚本在运行后关闭。谢谢大家的帮助 当您说“正在运行.py”文件时,您的意思是从Windows资源管理器中双击该文件并运行它吗?这可能意味着您让“pylauncher”运行它,这将保持窗口打开-但这实际上取决于您的计算机上配置了什么程序来运行.py文件。您的代码似乎没有问题-它会终止,从那里它无法关闭窗口。我不知道为什么终端会保持打开状态,但您可以调用exit()
终止脚本。是终端还是保持打开状态的chrome浏览器?还是将其从.py
重命名为.pyd
您是否尝试将其作为windows任务运行?终端窗口可能只是因为您在GUI中运行它的方式而存在。由于脚本在最后退出,我看不出这有什么帮助。