Я ожидаю, что для этого уже существует ответ на stackoverflow, и я просто не смог его найти.
Желаемый результат: Быстрое преобразование элемента размера файла в вызов file.info()
из байтов в КБ, МБ и т.д. Я в порядке, если на выходе будет либо i) символьная строка с нужный тип размера, например, "96 bytes"
или ii) просто числовое преобразование, например, от 60963
байт до 60.963
KB (за Google).
Действия Repro:
-
Создайте папку для хранения файла:
dir.create("census-app/data")
-
Загрузите файл (~ 60 КБ):
download.file("http://shiny.rstudio.com/tutorial/lesson5/census-app/data/counties.rds", "census-app/data/counties.rds")
-
Используйте
file.info()$size
, чтобы вернуть размер файла в байтах:file.info("census-app//data//counties.rds")$size [1] 60963
Оттуда я застрял. Я понимаю, что могу сделать сложный/ручной синтаксический анализ и вычисления для преобразования (см. Преобразование килобайт, мегабайт и т.д. В байты в R).
Однако я надеюсь, что могу просто использовать базовую функцию или что-то подобное:
format(file.info("census-app//data//counties.rds")$size, units = "KB")
[1] "60963"
# Attempt to return file size in KB simply returns the size in bytes
# NOTE: format(x, units = "KB") works fine when I
# pass it object.size() for an object loaded in R