#python #django #subprocess
Вопрос:
Я хочу, чтобы пользователи моей компании могли загружать скрипт на python и выполнять его. Я использую подпроцесс для выполнения сценария, но я получаю ошибки с надписью «ожидаемый str, байт или ОС.Объект, похожий на путь, а не в загруженном файле»
def execute(request)
if request.method == 'POST':
if request.FILES.get('document'):
file = request.FILES['document']
subprocess.run(['python', file], stdout=True)
Комментарии:
1. «Я хочу, чтобы пользователи моей компании могли загружать скрипт на python и выполнять его». Это звучит как действительно плохая идея!
2. То, что у вас есть, — это файловый объект Django. Вы можете получить имя файла из
file.name
. Но как @KlausD. сказал, что это действительно плохая идея, которую легко использовать для уничтожения вашего сервера.3. @КлаусД. это не моя идея. это идея моего босса, я думаю, он хочет использовать ее для чего-то.
4. @TimRoberts Не могли бы вы показать мне, как это делается?
5. Это РАБОТА профессионального инженера-указывать руководству, когда его просят внедрить что-то опасное. Мы не автоматы.