Как сделать паузу выполнения, спите, ожидайте в течение X секунд в R?

Канонический способ разделить символы конца строки (EOL) состоит в том, чтобы использовать строку rstrip () метод, удаляющий любое запаздывание \r или \n. Вот примеры для Mac, Windows и символов Unix EOL.

>>> 'Mac EOL\r'.rstrip('\r\n')
'Mac EOL'
>>> 'Windows EOL\r\n'.rstrip('\r\n')
'Windows EOL'
>>> 'Unix EOL\n'.rstrip('\r\n')
'Unix EOL'

Используя '\r\n', поскольку параметр к rstrip означает, что это разделит любую запаздывающую комбинацию '\r' или '\n'. Вот почему это работает во всех трех случаях выше.

Этот нюанс имеет значение в редких случаях. Например, я когда-то должен был обработать текстовый файл, который содержал сообщение HL7. Стандарт HL7 требует запаздывания '\r' как его символ EOL. Машина Windows, на которой я использовал это сообщение, добавила свой собственный '\r\n' символ EOL. Поэтому конец каждой строки был похож на '\r\r\n'. Используя rstrip ('\r\n') снял бы весь '\r\r\n', который не является тем, что я хотел. В этом случае я просто отрезал последние два символа вместо этого.

Примечание, что в отличие от Perl chomp функция, это разделит все указанные символы в конце строки, не всего один:

>>> "Hello\n\n\n".rstrip("\n")
"Hello"
113
задан TMS 17 January 2014 в 15:03
поделиться

1 ответ

См. справку (Sys.sleep) .

Например, из ? Sys.sleep

testit <- function(x)
{
    p1 <- proc.time()
    Sys.sleep(x)
    proc.time() - p1 # The cpu usage should be negligible
}
testit(3.7)

Yielding

> testit(3.7)
   user  system elapsed 
  0.000   0.000   3.704 
132
ответ дан 24 November 2019 в 02:44
поделиться
Другие вопросы по тегам:

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