import os cmd = 'ls -al' os.system(cmd)
Если вы хотите вернуть результаты команды, вы можете использовать
os.popen
. Однако это не рекомендуется с версии 2.6 в пользу модуля подпроцесса , который хорошо освещает другие ответы.
Существует два способа доступа к тексту из TextField, как показано в документации Флаттера .
Первый - через обратный вызов onChanged, у которого есть параметр, который является текущим текстом.
TextField(
onChanged: (text) {
// do what you want with the text
},
);
Для более сложной обработки текста, включая доступ к нему извне метода build()
, вы можете использовать TextEditingController .
final _controller = TextEditingController();
Затем вы можете связать его с вашим TextField:
TextField(
// other parameters
controller: _controller,
);
Не забудьте утилизировать его!
@override
void dispose() {
// other dispose methods
_controller.dispose();
super.dispose();
}
Теперь вы можете либо установить, либо получить текст либо получить доступ к значению _controller.text
, либо изменить его. Например:
Получение: print(_controller.text);
Установка: _controller.text = 'newText' // now the TextField will have 'newText' written
Или вы можете прослушивать изменения, используя addListener
, поэтому всякий раз, когда текст обновляется, Функция по вашему выбору будет называться:
@override
void initState() {
super.initState();
_controller.addListener(_handleText);
// other code here
}
_handleText() {
// do what you want with the text, for example:
print(_controller.text);
}