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)

Documents pareils