Запуск сценария оболочки из Python, который требует ввода пользователем [duplicate]

Я обертываю input[type=file] в теге метки, а затем стилю label по вашему вкусу и скрываю input.

<label class="btn btn-default fileLabel" data-toggle="tooltip" data-placement="top" title="Upload">
    <input type="file">
    <span><i class="fa fa-upload"></i></span>
</label>

<style>
    .fileLabel input[type="file"] {
        position: fixed;
        top: -1000px;
    }
</style>

Чисто CSS-решение.

1
задан bitterleaves 9 May 2016 в 14:35
поделиться

2 ответа

Как объяснил более ранний ответ subprocess.Popen , можно использовать для создания процесса, с которым можно взаимодействовать с communicate . communicate принимает строку как параметр, который будет передан созданному процессу и возвращает кортеж (stdout, stderr). Ниже приведен короткий пример двух сценариев Python, связанных с ним:

Ребенок

nums = raw_input()
print sum((int(n) for n in nums.split()))

Родитель

import subprocess

p = subprocess.Popen(['python', 'test.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
out, err = p.communicate('3 4 5')
print 'From other process: ' + out

Выход

From other process: 12
1
ответ дан niemmi 15 August 2018 в 22:17
поделиться

Вероятно, вы хотите использовать функцию subprocess.Popen.communicate() . Документы довольно выразительны.

0
ответ дан Torbjörn 15 August 2018 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: