Yalnızca boş olmayan dizinleri listelemenin kolay bir yolu var mı?Boş olmayan dizinleri göster
list.dirs
'un farkındayım, ancak yalnızca boş olmayan dizinleri listelemenin yolunu bulamadım. Sen list.dirs
sonucuna list.files
kullanabilirsiniz
Yalnızca boş olmayan dizinleri listelemenin kolay bir yolu var mı?Boş olmayan dizinleri göster
list.dirs
'un farkındayım, ancak yalnızca boş olmayan dizinleri listelemenin yolunu bulamadım. Sen list.dirs
sonucuna list.files
kullanabilirsiniz
: Burada
dirlist <- list.dirs("./R/R-3.3.1/library/zoo")
dirlist [sapply(dirlist, function(x) length(list.files(x))>0)]
tek liner çözüm:
nonempty <- list.dirs(recursive=F)[which(lengths(lapply(list.dirs(recursive=F), list.files)) > 0)]
dosya adları daha sonra dizin adını ayıklamak alın:
unique(dirname(list.files(full.names = TRUE, recursive = TRUE)))
bir satır ama çok hızlı değil "list.dirs" iki çağrı ... – HubertL
Doğru - sadece microbench işaretli ve değişken olmayan 'list.dirs()' değişkenini bir değişkende saklamak ortalama 100 çalışma için ortalama 1.8 milyon saniyedir. OP, daha iyi verimlilik için iki astar kullanmayı tercih edebilir. – Megatron