** pathlib ** Benutzt du es? Wenn Sie es noch nicht benutzt haben, benutzen Sie es bitte einmal. Was pathlib ist, ist, dass Sie Pfade manipulieren können. Ich denke, jeder benutzt ** os.path **, aber Sie können mit ** pathlib ** fast das Gleiche tun wie dieser os.path. Darüber hinaus ist pathlib ein Standard-Python-Modul.
Wenn Sie interessiert sind, überprüfen Sie es bitte.
summary
pathlib
pathlib ist ein ** objektorientierter Dateisystempfad **. Mal sehen, wie man es benutzt.
Sie können ein Path
-Objekt mit Path ()
erstellen
>>> from pathlib import Path
>>> Path()
PosixPath('.')
>>> Path('data')
PosixPath('data')
>>>
>>> Path('data/image_0001.jpg')
PosixPath('data/image_0001.jpg')
>>>
Verwenden Sie "is_dir ()", "is_file ()"
>>> a = Path('data')
>>> a.is_dir()
True
>>> b = Path('data/image_0001.jpg')
>>> b.is_file()
True
>>>
>>> p = Path('data/img0.jpg')
>>> p.exists()
False
Verwenden Sie .touch ()
>>> p = Path('data/img0.jpg')
>>> p.exists()
False
>>> p.touch()
>>> p.exists()
True
Verwenden Sie "iterdir ()" oder "glob ()"
>>> a = Path('data')
>>> list(a.iterdir())
[PosixPath('data/img0.jpg'),
PosixPath('data/image_0004.jpg'),
PosixPath('data/image_0005.jpg'),
PosixPath('data/image_0001.jpg'),
PosixPath('data/image_0002.jpg'),
PosixPath('data/image_0003.jpg')]
>>>
>>> list(a.glob('*'))
[PosixPath('data/img0.jpg'),
PosixPath('data/image_0004.jpg'),
PosixPath('data/image_0005.jpg'),
PosixPath('data/image_0001.jpg'),
PosixPath('data/image_0002.jpg'),
PosixPath('data/image_0003.jpg')]
>>>
Mit str
in einen String konvertieren
>>> [str(p) for p in a.iterdir()]
['data/img0.jpg',
'data/image_0004.jpg',
'data/image_0005.jpg',
'data/image_0001.jpg',
'data/image_0002.jpg',
'data/image_0003.jpg']
>>>
Verwenden Sie das Attribut name
>>> [p.name for p in a.iterdir() if p.is_file()]
['img0.jpg',
'image_0004.jpg',
'image_0005.jpg',
'image_0001.jpg',
'image_0002.jpg',
'image_0003.jpg']
>>>
Verwenden Sie das Attribut "stem"
>>> [p.stem for p in a.iterdir() if p.is_file()]
['img0',
'image_0004',
'image_0005',
'image_0001',
'image_0002',
'image_0003']
>>>
Verwenden Sie das Attribut "shuffix"
>>> [p.suffix for p in a.iterdir() if p.is_file()]
['.jpg', '.jpg', '.jpg', '.jpg', '.jpg', '.jpg']
>>>
Verwenden Sie .mkdir ()
>>> c = Path('test')
>>> c.exists()
False
>>> c.mkdir()
>>> c.exists()
True
>>>
Auf parent = True
setzen
>>> Path('test/data/001').mkdir(parents=True)
Setze exist_ok = True
>>> Path('test/data').mkdir(exist_ok=True)
Verketten Sie mit /
zum Path
-Objekt
Sie können dasselbe mit os.path.join ()
mit /
tun
>>> d = Path('data')
>>> d / 'train' / '001'
PosixPath('data/train/001')
Verwenden Sie "Eltern"
>>> b
PosixPath('data/image_0001.jpg')
>>> b.parent
PosixPath('data')
Dieses Mal habe ich es als mein Memorandum geschrieben, damit ich die, die ich oft benutze, nicht vergesse. Ich hoffe es wird so hilfreich wie möglich sein.
Recommended Posts