Introduction aux capacités shell du python
Transcription
Introduction aux capacités shell du python
Introduction aux capacités shell du python. Manipulation de répertoires, de noms des fichiers. os - module permettent des manipulations de répertoires. shutil , filecmp – modules de manipulation des fichiers. Modules os – operating système interface. Permet utiliser la fonctionnalité du système d’exploitation : manipulation de répertoires os.path manipulation de fichiers os.shutil Les méthodes utiles : méthodes os.getcwd() action Return le nom du répertoire courant. os.sep Return le caractère utilisé par système pour séparer les components des chemins d’accès os.chmod(path,mode) Change la permission d’accès à un fichier os.listdir(path) Return le liste du contenu du répertoire nommée path os.mkdir(path[,mode]) Création d’un répertoire nommée path avec le mode d’accès mode. os.makedirs(path[,mode]) Comme os.mkdir, mais avec de la exemple ‘/home/toto’ ‘/’ os.chmod(‘/home/toto/mon_dir’,0777) os.chmod(‘/home/toto/mon_dir/mon_fichier.py’,0777) os.listdir(‘/home/toto/mon_dir’) os.mkdir(‘/home/toto/new_dir’,0777) os.makedirs(‘/home/toto/new_dir/new_dir1’,0777) os.chdir(path) os.rmdir(path) os.removedirs(path) os.rename(src,dst) création de tous les sous répertoires inexistants. Changement du répertoire courant à un répertoire path Destruction du répertoire path. Le répertoire doit être vide. Comme os.rmdir mais avec de la destruction de tous les sous répertoire de path. Les sous répertoire doivent être vide. Renom un fichier ou un répertoire src à dst. os.chdir(‘/home/toto’) os.rmdir(‘/home/toto’) os.removedirs(‘/home/toto/new_dir/new_dir1’) os.rename(‘old_nom_fichier.txt’,’new_nom_fichier.txt’) os.path - manipulation de répertoires méthodes os.path.basename(path) os .path.dirname(path) os.path.exists(path) os.path.lexists(path) os.path.isfile(path) os.path.isdir(path) os.path.join(path1,path2 ) os.path.split(path) action Return le dernier component du chemin d’accès path Return le nom du répertoire dans le chemin d’accès path Return True si le path existe, False sinon Return True si path est un fichier existant, False sinon Return True si path est un répertoire existant, False sinon Creation d’un chemin d’accès exemple os.path.basename(‘/home/toto/new_dir/new_dir1’) >> ‘new_dir1’ Return (head,tail). head est le nom du répertoire dans le chemin d’accès path. tail est le dernier component os.path.split(‘/home/toto/new_dir/new_dir1’) >>(‘/home/toto/new_dir/’,’ new_dir1’) os.path.basename(‘/home/toto/new_dir/new_dir1’) >> ‘/home/toto’ os.path.exists(‘/home/toto’) os.path.isfile(‘mon_fichier.txt’) >>True os.path.isdir(‘/home/toto/’) >>True os.path.join(‘/home/toto/new_dir/’,’new_dir1’) >>‘/home/toto/new_dir/new_dir1’ os.access(path,os.W_OK ) de chemin d’accès path Vérification du droit d’écrire dans un fichier/réper toire os.access(‘/home/toto/new_dir/foo.npz’,os.W_OK) >>True shutill - offre un certain nombre d’opérations sur des fichiers et des collections des fichiers. Filecmp - comparaison des fichiers et répertoires. méthodes shutil.copy2(src,dst) shutil.copytree(src,dst,ig nore=None) shutil.move(src,dst) filecmp.cmp(f1,f2) action Copier le fichier source src vers le répertoire ou le fichier de destination dst Recopier récursivement toute une arborescence de répertoire racine src, le répertoire de destination dst ne doit pas exister. Déplacer récursivement un fichier ou un répertoire à un autre emplacement. Comparaison des fichiers f1 et f2. True si les fichiers sont identique (niveau signature os.stat) exemple shutil.copy2(fichier1,’/home/toto’) Shutil.copytree(source,desct,ignore=ign ore_patterns(‘*.pyc’,’tmp*’)) shutil.move(fichier1,’/home/toto’) filecmp.cmp(fichier1, fichier2)