Не запускается Python скрипт через BAS

Поддержка
  • Доброе время суток, столкнулся с проблемой запуска python скрипта через Запустить Процесс

    [[PY_FOLDER]] содержит путь: C:/soft/_data/py

    python [[PY_FOLDER]]/sayHello.py
    рабочая папка: [[PY_FOLDER]] (пробовал и без нее)
    

    ошибка

    The system cannot find the path specified. python: can't open file 'C:\\soft\\_data\\py\\sayHello.py': [Errno 2] No such file or directory
    
    файл sayHello.py
    
    f = open("_result.txt", "w", encoding='utf-8')
    f.write(str("hello"))
    f.close()
    

    Не очень понимаю почему так сильно каверкается путь и как решить данный вопрос

  • I think you must set the variable name before locating and launching the path of .py file

  • @outsider if you mean the variable PY_FOLDER, then it already contains the path

    C:/soft/_data/py
    

    I wrote about this above

  • [[PY_FOLDER]] -> C:\soft_data\py
    python [[PY_FOLDER]]\sayHello.py

  • @gaget007 это помогло с ошибкой. Однако файл "_result.txt" через Запустить Процесс не создается. В то время как если открыть файл sayHello.py через Python все работает корректно

  • @mmaxsmile ковычки двойные добавьте, может поможет, хотя вроде пробелов нету в пути

  • @mmaxsmile said in Не запускается Python скрипт через BAS:

    @gaget007 это помогло с ошибкой. Однако файл "_result.txt" через Запустить Процесс не создается. В то время как если открыть файл sayHello.py через Python все работает корректно

    Действие "Запустить процесс" создаёт bat файл с вашим кодом и запускает его. Попробуйте повторить сами, создайте bat файл и запустите его

  • @mmaxsmile Я понял, у вас используется относительный путь для сохранения файла, поэтому он будет сохранятся в папку с движком БАС, примерно тут C:\Users\user\AppData\Roaming\BrowserAutomationStudio\apps\26.7.1

  • @mmaxsmile Через пайтон - это двойной клик на сам файл или через DLE?

  • @Fox сейчас буду тестировать

    @gaget007 двойной клик

    @UserTrue да, только что проверил, нашел его там. Довольно странно ибо рабочая папка указана [[PY_FOLDER]] (C:/soft/_data/py)

  • [[PY_FOLDER]] -> C:\soft_data\py - пропущен слеш
    [[PY_FOLDER]] -> C:\soft\_data\py - так

    Форум экранирует \_ поэтому он пропал))

  • Итого правильный вариант (решил для удобства и наглядности убрать переменные):

    python C:\soft\_data\sayHello.py
    рабочая папка: C:\soft\_data
    

    При таком раскладе все работает, файл создается в папке с Python скриптом

    Если делаем все тоже самое не на системном диске (D)

    python D:\soft\_data\sayHello.py
    рабочая папка: D:\soft\_data
    

    Txt файл создается в C:\Users\user\AppData\Roaming\BrowserAutomationStudio\apps\26.7.1

  • @mmaxsmile said in Не запускается Python скрипт через BAS:

    Итого правильный вариант (решил для удобства и наглядности убрать переменные):

    python C:\soft\_data\sayHello.py
    рабочая папка: C:\soft\_data
    

    При таком раскладе все работает, файл создается в папке с Python скриптом

    Если делаем все тоже самое не на системном диске (D)

    python D:\soft\_data\sayHello.py
    рабочая папка: D:\soft\_data
    

    Txt файл создается в C:\Users\user\AppData\Roaming\BrowserAutomationStudio\apps\26.7.1

    Старая проблема, он не переключается на другой диск а просто выполняет cd path. Хз в чем сложность за столько лет было добавить переключение диска

  • @mmaxsmile said in Не запускается Python скрипт через BAS:

    Txt файл создается в C:\Users\user\AppData\Roaming\BrowserAutomationStudio\apps\26.7.1

    Надо отдать должное, что надо в python скрипте получать путь к запущенному скрипту и от него отталкиваться. А не просто сохранять файл результата где-то.

    
    import os
    
    ABS_PATH = os.path.dirname(__file__)
    TARGET_FILENAME = os.path.join(ABS_PATH, "some.txt")