Python 新手,有个关闭终端的问题

2020-07-14 10:17:08 +08:00
 luxinfl

我搞了个一键打卡的脚本,双击后会弹出一个窗口显示运行消息。我想程序执行完自动关闭这个窗口。结果搜遍了百度,就找了这俩命令,结果鸟用没有。

有什么办法可以解决么

4142 次点击
所在节点    程序员
25 条回复
ruanimal
2020-07-14 10:23:44 +08:00
是 windows 吧,那个是系统控制台的窗口,在脚本里是关闭不了的。

可以把脚本的扩展名改成 pyw, 可以避免这个窗口
css3
2020-07-14 10:31:00 +08:00
@luxinfl 你是不是嫌黑框闪的太快了?
time.sleep(10)
sys.exit(0)
或者搞个按键监听,按下 C 键再退出,否则停留在黑框
css3
2020-07-14 10:33:54 +08:00
@css3 好像看错楼主问题了😂
emm, 我了解的是,正常情况下,执行完就就是闪退出去了啊
dingwen07
2020-07-14 10:35:47 +08:00
黑框在执行完肯定会关掉的 除非启动方式不是给 python 传值
如果用了 gui 那就用 destroy 关掉窗体
princelai
2020-07-14 10:36:45 +08:00
再写个.bat ,调用你的脚本
Vhc
2020-07-14 10:37:24 +08:00
Python 脚本运行结束会自动关闭窗口的。你确定自己不是写了死循环?
shuax
2020-07-14 10:55:27 +08:00
改成 pyw
luxinfl
2020-07-14 11:05:33 +08:00
@ruanimal 我试了 pyw,也没什么用啊。python 的窗口还是会出来的
luxinfl
2020-07-14 11:06:16 +08:00
@css3 没有关闭啊,我卡打完了,窗口还是会一直在那里
misaka19000
2020-07-14 11:11:09 +08:00
Windows 执行完毕 cmd 会自动关闭了
luxinfl
2020-07-14 11:11:28 +08:00
@Vhc 我把代码贴出来了,就简单的一步步往下写的啊
luxinfl
2020-07-14 11:11:47 +08:00
@misaka19000 就是没关闭,所以才想问问咋回事
nonduality
2020-07-14 11:25:06 +08:00
你可以尝试获取窗口进程的 pid 号,在退出前 kill 之。
MerlinShieh
2020-07-14 11:35:57 +08:00
一般执行完就会关闭掉的,如果不行的话可以写个 bat 去执行脚本,再不行就获取 pid 然后 kill
luxinfl
2020-07-14 11:36:39 +08:00
@MerlinShieh bat 试过了,打包成 exe 也试了,都不行。。感觉只能 kill 了。。
oahebky
2020-07-14 12:23:07 +08:00
无语,我就说早上第一次点卡这个帖子看着奇怪。理论上不可能发生的事情没法回答。

原来说的是调用 selenium 后「浏览器」窗口没有关闭的问题。

搞得神神秘秘的,selenium 不说,「浏览器」也不说;提问题,问题都描述不清楚。
bonfy
2020-07-14 13:14:52 +08:00
```python
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--disable-gpu')
executable_path = CONFIG.get('driverpath')
driver = webdriver.Chrome(
chrome_options=options, executable_path=executable_path
)

...
driver.close()
```

最好还是用 api 之类的吧
css3
2020-07-14 13:47:35 +08:00
@oahebky 😂😂😂😂,对头
ruanimal
2020-07-14 14:19:07 +08:00
@oahebky 看来提问的基本修养很重要啊。。。
luxinfl
2020-07-14 15:41:23 +08:00
@oahebky nono 不是浏览器窗口没关闭的问题。不过你硬要这么说也没啥问题,程序还没跑完,python 的命令行窗口还是一直在显示。现在在代码后面调用了 driver 的 quit 方法,程序就结束了,命令行窗口和浏览器就都关闭了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689799

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX