Saya bekerja dengan sistem linux.
Saya memiliki banyak folder berbeda, setiap folder memiliki file bash (file bash sama di setiap folder). File bash ini menjalankan perintah sederhana seperti memuat lingkungan, membuat file dan folder, menjalankan aplikasi biner (misalnya kode1)
Dari folder ini ada file python yang ingin saya jalankan baseFolder/myPython.py " folder1/myBash " folder2/myBash . . . " folderN/myBash
MASALAH: ketika saya menjalankan skrip python (misalnya kode2) file bash tidak dijalankan di dalam folder, itu dijalankan karena file bash terletak di baseFoldes, sehingga membuat folder, file, dll. Saya tidak mengerti alasannya.
Saya menggunakan paket os dan subproses:
os.system('shell command')
subprocess.run('shell command')
subprocess.call('shell command')
kode1
#!/bin/bash
mkdir myNewFolder
touch myNewFile
kode2
#!/usr/bin/env python3
import os
import subprocess
... other code ...
subprocess.run(fullPathFolder+"/myBash")
Or
subprocess.call(fullPathFolder+"/myBash")
Or
os.system(fullPathFolder+"/myBash")
baseFolder/myPython.py
" myNewFolder <<<<<<<<<<?????
" myNewFile <<<<<<<<<<?????
" folder1/myBash
" folder2/myBash
.
.
.
" folderN/myBash