> langage et graphiques > Divers > Système et fichiers
Système et fichiers
Répertoire courant :
- getwd() : donne le répertoire courant.
- setwd("myDir") : fixe le répertoire courant (avec nom de directory relatif ou absolu).
Récupération des fichiers d'un répertoire :
- list.files() les fichiers du répertoire courant.
- list.files(path = ".", pattern = (".html$")) : renvoie la liste des fichiers du répertoire courant obéissant au pattern.
Nom des répertoires et fichier :
- basename(c("/toto/titi")) : renvoie "titi" (indépendamment de l'existence réelle du fichier.
- dirname(c("/toto/titi")) : renvoie "/toto" (indépendamment de l'existence réelle du fichier.
Récupération des infos sur une liste de fichiers :
- file.info(c("file1", "file2")) : renvoie un dataframe avec une ligne par fichier et une colonne par attribut de fichier (dates, owner, group, permissions, taille, ...)
Examen des permissions sur les fichiers (unix) :
- file.access(c("r.html", "r2.html")) : teste l'existence des fichiers en renvoyant un vecteur de valeurs : 0 si existe, -1 si n'existe pas.
- file.access(c("r.html", "r2.html"), 1) : teste l'exécution (0 si exécutable, -1 sinon).
- file.access(c("r.html", "r2.html"), 2) : teste l'écriture (0 si peut être écrit, -1 sinon).
- file.access(c("r.html", "r2.html"), 4) : teste la lecture (0 si peut être lu, -1 sinon).
Manipulation des fichier et répertoires (renvoient à chaque fois un booléen ou un vecteur de booléens avec TRUE si ca s'est bien passé et FALSE sinon) :
- file.create(c("file1", "file2")) : création des fichiers (vides).
- file.exists(c("file1", "file2")) : test de l'existence des fichiers.
- dir.create(c("dir")) : création d'un répertoire.
- file.remove(c("file1", "dir1")) : destruction de fichiers ou répertoires.
- file.copy("file1", "file2") : recopie d'un fichier.
- file.rename("file1", "file2") : renommage d'un fichier.
- file.symlink("file1", "file2") : création d'un lien synbolique file2 -> file1.
- file.append("file2", "file1") : rajoute le contenu de file1 à la fin de file2.
- unlink("file1") : détruit un fichier ou un répertoire (renvoie 0 si ca s'est bien passé, 1 sinon).
- On peut aussi faire unlink(c("file1", "file2")) pour détruire plusieurs fichiers d'un coup.
- unlink("dir1", recursive = TRUE) : détruit un répertoire et tous ses fichiers et sous-répertoires.
Appel système :
- status <- system("ls") : exécute un appel système (en synchrone) et renvoie le statut de retour (0 si ok, != 0 si erreur).
- status <- system("badCommand", ignore.stderr = TRUE) : exécute l'appel système, mais sans renvoyer le stderr de cette commande.
- result <- system("ls", intern = TRUE): renvoie l'output (stdout) de la commande système plutôt que le statut, sous forme de vecteur de strings.
Sys.sleep(0.5) : attend 0.5 secondes.
Sys.getpid() : renvoie le numéro de process.
Sys.getenv() : donne un vecteur d'élements permettant d'accéder aux variables d'environnement : les noms sont les noms des variables d'environnement et les éléments sont les valeurs (par exemple, Sys.getenv()["HOME"] renvoie la valeur de $HOME).
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R