如果我打开的文件是,他的exe路径路径是E:/develop/macdown/Typora/Typora.exe,我该如何判断他是否启动,如果启动了就不再打开,如果没启动,就打开
时间: 2023-12-10 21:42:53 浏览: 27
你可以使用 `psutil` 模块来检查进程是否已经在运行。具体实现可以按照以下步骤:
1. 导入 `psutil` 模块:
```python
import psutil
```
2. 定义一个函数,检查进程是否已经在运行:
```python
def check_process_running(process_name):
for proc in psutil.process_iter():
try:
if proc.name().lower() == process_name.lower():
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return False
```
函数中的 `process_name` 参数是要检查的进程名。
3. 调用函数检查进程是否已经在运行:
```python
process_name = 'Typora.exe'
if check_process_running(process_name):
print(f'{process_name} is already running')
else:
print(f'Starting {process_name}...')
# 启动进程的代码
```
在这个示例中,我们检查名为 `Typora.exe` 的进程是否已经在运行。如果已经运行,则打印一条消息,否则打印另一条消息并启动进程的代码。
针对你的具体需求,你可以将 `# 启动进程的代码` 替换为打开文件的代码。例如,你可以使用 `os.startfile` 函数打开一个文件:
```python
import os
file_path = 'E:/develop/macdown/Typora/Typora.exe'
if check_process_running(os.path.basename(file_path)):
print(f'{file_path} is already running')
else:
print(f'Starting {file_path}...')
os.startfile(file_path)
```
在这个示例中,我们使用 `os.path.basename` 函数获取文件名,并将其传递给 `check_process_running` 函数。如果进程已经运行,则打印一条消息,否则打印另一条消息并使用 `os.startfile` 函数打开文件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)