Vous vous demandez si les opérations sur les fichiers dans la bibliothèque standard de Python se trouvent dans «« os »,« «os.path» ou «shutil»?
La classe path '' dans le module
paver.path '' facilite les opérations sur les fichiers que les bibliothèques Python standard.
La classe path
est également incluse dans paver.easy
, donc si vous faites à partir de paver.easy import * '', vous ne pouvez l'utiliser qu'avec
path``.
Cette classe path '' définit une méthode qui hérite d'une chaîne et prend la chaîne comme argument. Il remplace également l'opération de chemin de jointure sur l'opérateur
/ '' et définit diverses autres méthodes utiles.
>>> from paver.easy import *
>>> root = path('/')
>>> root
path(u'/')
>>> root.isdir()
True
>>> root.listdir()
[path(u'/.dbfseventsd'), path(u'/.DocumentRevisions-V100'), path(u'/.DS_Store'), path(u'/.file'), path(u'/.fseventsd'), path(u'/.Spotlight-V100'), path(u'/.SymAVx86QSFile'), path(u'/.Trashes'), path(u'/.vol'), path(u'/Applications'), path(u'/asix_temp'), path(u'/bin'), path(u'/cores'), path(u'/dev'), path(u'/etc'), path(u'/home'), path(u'/Library'), path(u'/mach_kernel'), path(u'/net'), path(u'/Network'), path(u'/opt'), path(u'/private'), path(u'/sbin'), path(u'/System'), path(u'/tmp'), path(u'/Users'), path(u'/usr'), path(u'/var'), path(u'/Volumes'), path(u'/\u30e6\u30fc\u30b5\u3099\u60c5\u5831')]
>>> root / 'usr'
path(u'/usr')
Pour des méthodes pratiques autres que les opérations de chemin dans os``,
os.path,
shutil, lisez et retournez la chaîne d'octets dans le fichier spécifié par le chemin
.bytes () Il existe des méthodes '', des méthodes
glob () '' et des méthodes .remove_p () '' qui ne provoquent pas d'erreur même si le fichier n'existe pas, contrairement à
.remove () ''.
dryrun
La commande paver est en mode dryrun avec l'option -n
, et les méthodes de manipulation de la classe path
ne font rien.
pavement.py
from paver.easy import *
@task
def hello():
path('/').rmtree()
$ paver -n hello
---> pavement.hello
rmtree / () {}
pushd
C'est une fonctionnalité trouvée à l'origine dans contextlib '' de Python, mais il existe un gestionnaire de contexte appelé
pushd '' qui est utile en combinaison avec l'instruction with '' et va dans
paver.easy ''. Il est prêt à l'emploi.
pavement.py
from paver.easy import *
import os
@task
def chdir():
print "cwd: ", os.getcwd()
with pushd('/'):
print "cwd: ", os.getcwd()
print "cwd: ", os.getcwd()
$ paver chdir
---> pavement.chdir
cwd: /Users/inada-n/paver
cd /
cwd: /
cd /Users/inada-n/paver
cwd: /Users/inada-n/paver
Recommended Posts