Nếu sleep.shcó shebang #!/bin/shvà nó có quyền truy cập tệp thích hợp - hãy chạy chmod u+rx sleep.shđể đảm bảo và nó ở trong $PATHthì mã của bạn sẽ hoạt động như sau:
import subprocess
rc = subprocess.call("sleep.sh")
Nếu tập lệnh không có trong PATH thì hãy chỉ định đường dẫn đầy đủ đến nó, ví dụ: nếu nó nằm trong thư mục làm việc hiện tại:
from subprocess import call
rc = call("./sleep.sh")
Nếu script không có shebang thì bạn cần chỉ định shell=True:
rc = call("./sleep.sh", shell=True)
Nếu tập lệnh không có quyền thực thi và bạn không thể thay đổi nó, ví dụ: bằng cách chạy os.chmod('sleep.sh', 0o755)thì bạn có thể đọc tập lệnh dưới dạng tệp văn bản và chuyển chuỗi vào subprocessmô-đun thay thế:
with open('sleep.sh', 'rb') as file:
script = file.read()
rc = call(script, shell=True)