2016-06-22 4 views
0

При загрузке файлов (Windows 7) с помощьюошибка tryCatch: действие не может быть завершено, поскольку папка открыта в RStudio R сессии

tryCatch(download.file(paste0(url_bv,arq), paste0(dir_bv,arq)) 
     ,error=function(cond) message(paste('erro:',arq,'não encontrado')) 
     ,warning=function(cond) message(paste('warning:',arq,'não encontrado'))) 

Я не могу удалить файлы, получать сбщи в вопрос название.

Если я просто

download.file(paste0(url_bv,arq), paste0(dir_bv,arq)) 

нет никаких проблем.

Как я могу освободить папку/файл в R?

+0

Вы можете закрыть или перезапустить сеанс R в RStudio? 'ShowConnections()' перечисляет что-нибудь активное? Если так, попытайтесь закрыть их. – r2evans

+0

@ r2evans, только stdin, stdout и stderr. Я могу перезапустить RStudio - он работает нормально. Когда я это сделаю, файл будет выпущен. – x00

+0

Некоторое время назад я нашел пакет ('readr', я полагаю), который держался за дескриптор файла после некоторого типа ошибок, и перезапуск был единственным средством. Возможно ли, что загрузка «в основном» завершена, но не полностью? Можете ли вы воспроизвести поведение с той же загрузкой? – r2evans

ответ

0

Я думаю, что это, скорее всего, ошибка в R (версия для Windows). Я могу точно воспроизвести его в R-3.2.5 (win10_64). Я предлагаю вам подать отчет об ошибке (читайте R FAQ 9.2 для четкого направления).

Я пробовал с несколькими вариантами:

  • различные схемы URL ("http://" и "https://")
  • различные download.file(..., method=...) варианты ("wininet", "internal" и "auto" все вели себя подобным образом; "libcurl" не делал, но просто скачал 404.html, не сказав мне, что возникла проблема)
  • триггеры, когда warning=... или condition=... статьи предоставлены tryCatchи что-то странное происходит в expr
  • не срабатывает с error=... или finally=... аргументы
  • 32bit и 64bit варианты
  • не в RStudio
  • в R --vanilla

Все попытки на убунту -14.04 (R-3.2.3-64bit), он не будет срабатывать.

Смежные вопросы