Доступ к атрибутам файлового соединения, созданного через file()

Я создаю файловое соединение через path <- file("C:/test.txt") и при печати объекта, связанного с соединением, я вижу "атрибуты" соединения:

> path
  description         class          mode          text        opened 
"C:/test.txt"        "file"           "r"        "text"      "closed" 
     can read     can write 
        "yes"         "yes" 

Тем не менее, я не могу понять, как на самом деле получить доступ к различным значениям атрибута

Вот что я попробовал до сих пор:

> attributes(path)
$class
[1] "file"       "connection"

$conn_id
<pointer: 0x0000004b>

> path$description
Error in path$description : $ operator is invalid for atomic vectors

> path["description"]
[1] NA

> file.info(path)
Error in file.info(path) : invalid filename argument

Есть идеи?

2 ответа

Решение

Быстрый взгляд на base:::print.connection покажет что ты хочешь summary(path),

summary(path)
$description
[1] "C:/test.txt"

$class
[1] "file"

$mode
[1] "r"

$text
[1] "text"

$opened
[1] "closed"

$`can read`
[1] "yes"

$`can write`
[1] "yes"

Самое близкое, что я могу получить к тому, что вы хотите, это использовать summary (). Например:

summary(path)$mode
[1] "rt"

Ошибка при использовании file.info() заключается в том, что эта функция ожидает путь к файлу, то есть "C:/test.txt", в качестве аргумента.

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