Я создал сценарий, который выводит результат выполнения сценария оболочки на веб-экран, используя Django и подпроцесс python.
В частности, были созданы следующие два сценария.
#!/usr/bin/python
import sys,os
import subprocess
import syslog
command_list = ['/bin/sh', '/var/tmp/test.sh']
proc = subprocess.Popen(args=command_list,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=os.path.dirname(command_list[0]),
shell=False)
result = proc.communicate(input=None)
print str( result )
#!/bin/bash
echo "begin"
cat /var/tmp/data.txt
data1
data2
Были выполнены модульные тесты для двух сценариев, и было подтверждено, что они работают должным образом.
Однако, когда я использовал test.py через Django, команду "cat" test.sh и data.txt«Cat: /var/tmp/data.txt: такой файл или каталог не отображаются».
В чем причина?
версия
- python 2.7.13
- Джанго 1.11.20