Я работаю с системой Linux.
У меня много разных папок, в каждой папке есть файл bash (файл bash одинаков в каждой папке).Этот bash-файл выполняет простые команды, такие как загрузка среды, создание файлов и папок, запуск двоичных приложений (например, code1)
. Из этих папок есть файл python, в котором я хочу запустить baseFolder/myPython.py "folder1 / myBash" folder2 / myBash.,,"folderN / myBash
ПРОБЛЕМА: когда я запускаю скрипт python (например, code2), файл bash не выполняется внутри папки, он выполняется, поскольку файл bash был расположен в baseFoldes, следовательно, он создает папку, файлы и т. д. в BaseFolder. Я не понимаю, почему.
Я использовал ОС и пакеты подпроцессов:
os.system('shell command')
subprocess.run('shell command')
subprocess.call('shell command')
code1
#!/bin/bash
mkdir myNewFolder
touch myNewFile
code2
#!/usr/bin/env python3
import os
import subprocess
... other code ...
subprocess.run(fullPathFolder+"/myBash")
Или
subprocess.call(fullPathFolder+"/myBash")
Или
os.system(fullPathFolder+"/myBash")
baseFolder/myPython.py
" myNewFolder <<<<<<<<<<?????
" myNewFile <<<<<<<<<<?????
" folder1/myBash
" folder2/myBash
.
.
.
" folderN/myBash