# python-howto-autoinit
**Repository Path**: xjyzr/python-howto-autoinit
## Basic Information
- **Project Name**: python-howto-autoinit
- **Description**: 使用python实现软件自动初始化,再也不用一个一个打开啦
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-08
- **Last Updated**: 2024-09-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
How to ?
python 自动化--自动初始化软件
### 前言
我在进行`Java`开发的过程中,每次打开电脑就需要启动很多软件,什么`IDEA`, `VMware`, `Xshell`, `Nginx`....等等。但是每次都要一个一个打开,打开之后就用一秒,然后就关了,启动电脑又要重新操作。这也太不方便了,所以我这里使用了`python`实现了简单的自动初始化
### 项目结构
main.py 包含了一个项目的启动函数。
method.py 包含了所有方法以及实现。
pojo.py 包含程序启动时的窗口信息。
xshell.py 包含与xshell有关,进行图像识别的方法。
resources.py 包含所有的配置信息,需要修改。
### 使用
resources.py中的配置信息需要修改为本机的路径以及资源
添加了pyintsaller,cd进入auto-init/src/python目录下,执行`pyinstaller --onefile --clean main.py`
本目录下会出现dict文件,里面的exe程序即为目标文件,可以添加到开始菜单或者创建一个快捷方式以方便执行
还会继续更新,尽情期待
### 思路
首先想要打开几个软件,不难想到,使用`os`, 或者`subprocess`,然后中间`sleep`那么几秒就可以实现,非常的容易。
如果出现项目很大需要较长时间加载的情况呢?虽然可以给`sleep`添加更大的值,但是似乎总不能每次换一个项目就修改源代码。
所以,我们需要`监听`,或者说需要监控软件的状态,然后根据状态进行操作。
* 对于需要加载的,一个思路是监听日志,比如`idea`每次加载项目时会输入日志,根据日志打印的状态判断项目是否加载完成。
* 对于需要连接的,比如`linux`虚拟机,我们可以尝试使用`python`进行`ssh`连接,然后根据返回值判断是否连接成功。
* .....
这样我们得到了程序运行的状态,就可以不断等待需要的状态返回,然后进行下一步操作
### 更新
更新内容可以看git提交记录
### 待完成
VScode判断项目是否加载完成
idea vs打开项目后根据需要是否运行项目
使用python进行ssh连接判断是否linux启动成功,IP被写死,只能连接一台
vmware 加快启动存在bug
### 随笔
先放着