简易判断python是从何处启动(命令行or双击)

本文介绍了如何在Windows下判断Python程序是通过命令行还是双击启动。当双击启动时,父进程为explorer.exe。通过psutil库的Process对象,可以获取到进程的父进程信息,从而判断启动方式。
摘要由CSDN通过智能技术生成

简介

最近试着使用pyinstaller打包我的爬虫来降低它对环境的依赖(当然,现在我正在考虑在某些时候使用nuitka替代它并使用pypy替代python),因为控制台和文件浏览器都可以启动程序,所以我想让它在文件浏览器启动的时候进入交互式界面,在控制台启动的时候显示帮助信息。这就需要识别应用程序从哪里启动。在网上找了半天,没有什么靠谱的回答,因为我平常使用的是Windows,而且感觉Windows下的实现比较容易,就先做出了一个Windows的版本。

原理

在Windows下,双击启动应用程序时父进程时explorer.exe。只要检查父进程是什么就可以了,这个在py脚本时是行得通的,但是经过pyinstaller的打包(-F选项,事实上-D时双击执行父进程是explorer.exe),实际的执行路径是:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值