Когда я открываю пакетный файл, который предназначен для создания другого файла с python, python открывает его, но не создает файл - PullRequest
0 голосов
/ 09 мая 2020
import os
import time


def FindTask():
    while True:
        os.startfile('C:\\Users\\Joze\\Desktop\\League Bot\\TaskFinder.bat')
        time.sleep(2)
        from errorlevel import h
        if h == 0:
            print("is")
        elif h == 1:
            print("no")

FindTask()    

TaskFinder.bat используется для создания файла с именем errorlevel.py.

Отладчик не показывает никаких ошибок, поэтому файл открывается, но не t создать файл.

Я пробовал использовать subprocess, но тоже не работал.

Внутри командного файла есть:

@tasklist | find /i "WinRAR.exe"
@echo h = %errorlevel% > errorlevel.py

Ответы [ 2 ]

1 голос
/ 09 мая 2020

У вас должна быть возможность напрямую использовать

cp = subprocess.run('tasklist | find /i "WinRAR.exe"', shell=True)
print(cp.returncode)

вместо вызова пакетного скрипта.

Еще лучше было бы вообще не раскошеливаться, а использовать, например, psutil библиотека для поиска процессов непосредственно в Python.

0 голосов
/ 09 мая 2020

Когда я выполнил тот же код, который у меня сработал, я использовал python 3, возможно, это проблема.

Если это не так, я не уверен, что знаю, почему TaskFinder.bat не открывает вам новый файл, но держу пари, что это что-то в операционной системе, вероятно, потому, что это не python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...