Скрипт Python с input () и print () не печатайте при запуске из метода класса PowerShellPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Скрипт Python с input () и print () не печатайте при запуске из метода класса PowerShell

Сообщение Anonymous »

Этот рассматриваемый скрипт работает, как и ожидалось от PowerShell :

Код: Выделить всё

# scripts.py
x = input("type your input: ")
print(f"your input is: {x}")
< /code>
Но как только вы оберните его в модуль: < /p>
class CSV{
[string] $pythonScript

CSV([string] $pythonPath){
$this.pythonScript = $pythonPath
}

[void] Run(){
python $this.pythonScript
}
}
< /code>
Интерактивность не печатается. Чтобы запустить этот класс, создайте новый файл PS1 следующим образом и запустите его < /p>
# run.ps1
using module .\module.psm1
$newCSV = [CSV]::new(".\script.py")
$newCSV.Run()
< /code>
В терминале: < /p>
PS C:\SE_temp_dir> .\run.ps1
test // typed from user input
PS C:\SE_temp_dir>
< /code>
Заметьте, что «не введите свой ввод» или «ваш вход - тест». Я пробовал много других альтернатив: < /p>
### module.psm1:
python $this.pythonScript | Write-Output
python $this.pythonScript | Write-Host
python -v $this.pythonScript | Write-Host

### script.py:
print(f"your input is: {x}", flush=True)
import sys; sys.stdout.write(f"your input is: {x}")
< /code>
Но ни один из них не работал. Почему вызов сценария Python с помощью input ()/print () 
работают интерактивно простым PowerShell, но не при запуске внутри метода класса PowerShell? Это проблема с таковой PowerShell или поведением хоста?


Подробнее здесь: https://stackoverflow.com/questions/796 ... rshell-cla
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»