Я сейчас работаю в проекте .bat.До сих пор функция в .bat вызывает скрипт Python, .py проверяет некоторые данные в файле .c и генерирует отчет в файле .txt, а .bat продолжает работать.Но я хочу показать информацию из .txt в консоли при запуске .bat.Я имею в виду, чтобы отправить информацию обратно из .py в .bat.Я нашел способ отправлять информацию из .py в .bat, но это работает только при открытии .bat с самого начала, и это будет только прерывать процесс функции.
Я сделал два небольших скрипта (.bat и .py) кроме уже упомянутого проекта .bat, и они работают.Но эта логика не работает с моим основным проектом, потому что в реализованной логике .py заново открывает .bat с самого начала.
Это логика обоих моих маленьких рабочих скриптов: Сценарий .bat:
@echo off
color 2f
set arg1=%1
set Tool.Python.exe=D:\uti\programs\Python27\python.exe
set Python.File.Path=C:\Users\gml1028\Desktop\sending_args.py
if "%arg1%"=="" (
goto openPython
)
echo My own interface
echo Press 1 for showing some numbers
echo Press 2 for showing some letters
echo Press 3 for showing letters and numbers
set /p select=Select:
if "%select%"=="1" (
goto showNumbers
)
if "%select%"=="2" (
goto showLetters
)
if "%select%"=="3" (
goto showAlphanumerics
)
:openPython
call %Tool.Python.Exe% -u %Python.File.Path%
goto :eof
:end
:showNumbers
echo 1
echo 2
echo 3
echo 4
echo The number is %arg1%
pause
goto :eof
:showLetters
echo a
echo b
echo c
echo d
echo The number is %arg1%
pause
goto :eof
:showAlphanumerics
echo 1a
echo 2b
echo 3c
echo 4d
echo The number is %arg1%
pause
goto :eof
Сценарий .py:
import os, subprocess, random
filepath=r'C:\Users\visgmo\Desktop'
executable = os.path.join(filepath, 'sending_args.bat')
p = subprocess.Popen([executable, str(random.randrange(0,20))])
В этом случае яне волнует, если .bat перезапускается, потому что я просто пытался, если это сработало.Но я делаю это в основном проекте, потому что после вызова .py файла .bat должен продолжать работать.
Спасибо.