Выполнение команды периодически и сохраняет вывод к файлу CSV

Я выполняю некоторую команду в эмуляторе SDN. Команда:

$ py ap1.params['frequency']

Это дает мне единственное значение вывод (плавающий). Как я могу записать маленький сценарий Python или использование единственной команды, чтобы выполнить вышеупомянутую команду после каждых 2 секунд и добавить каждый вывод к файлу CSV.

0
задан 5 November 2017 в 02:53

2 ответа

Отказ от ответственности: Я не знаю вещь о Python, я просто комбинирую то, что сказано в ниже данных источников. Я не могу протестировать его и существует изменение, что это ужасно неправильно.

  1. Запись некоторое время циклично выполняется со сном, управляют, чтобы регулярно называл Вашу команду: источник

    import time; while True: ap1.params['frequency']; time.sleep(2)
    

    Это не будет на самом деле называть команду каждые две секунды, а скорее ожидать две секунды между каждым выполнением – Вы могли бы хотеть настроить время сна.

  2. Выполните цикл и перенаправьте вывод в файл, добавляющий его: источник

    py 'import time; while True: ap1.params['frequency']; time.sleep(2)' >> output.csv
    

    Существуют другие способы перенаправить вывод, конечно, сам Python также полностью способен к выполнению, это – видит источник для альтернативных подходов.

0
ответ дан 1 November 2019 в 06:47

Вы можете (вид неправильных) используют watch команда:

watch -n 2 -p "( py ap1.params[\'frequency\'] >>output.csv )"

Вы не будете видеть много на экране, который часы покажут за исключением времени, изменяясь, потому что эффективная выходная мощность перенаправляется. Обратите внимание, что команда, данная часам включая перенаправление, должна быть сгруппирована в круглых скобках. Кроме того, с или без часов, вероятно, одинарные кавычки в команде ('frequency') должен быть оставлен с \, таким образом, они не разделяются оболочкой.

Посмотрите man watch для большего количества информации.

0
ответ дан 1 November 2019 в 06:47

Другие вопросы по тегам:

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