π ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ python: ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ os
. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import os
directory = 'ΠΏΡΡΡ/ΠΊ/Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ'
if os.path.isdir(directory):
print("ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
else:
print("ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ isdir
ΠΌΠΎΠ΄ΡΠ»Ρ os
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ", ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ". ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ directory
Π½Π° ΠΏΡΡΡ Π²Π°ΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Python?
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Python, ΠΈΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Python.
1. ΠΠΎΠ΄ΡΠ»Ρ os
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ os
Π² Python. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π°Π»ΠΈΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
import os
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
directory_path = '/path/to/directory'
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
if os.path.exists(directory_path):
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
else:
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ os.path.exists()
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True
, Π΅ΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ False
Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
2. ΠΠΎΠ΄ΡΠ»Ρ pathlib
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ pathlib
. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ.
from pathlib import Path
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
directory_path = Path('/path/to/directory')
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
if directory_path.exists():
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
else:
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ exists()
ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True
, Π΅ΡΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ False
Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
3. ΠΠΎΠ΄ΡΠ»Ρ glob
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ glob
. ΠΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΈΡ
ΠΈΠΌΠ΅Π½.
import glob
# Π¨Π°Π±Π»ΠΎΠ½ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
directory_pattern = '/path/to/directory/*'
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
if glob.glob(directory_pattern):
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_pattern} ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
else:
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_pattern} Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ glob.glob()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΏΡΡΡΠΎΠΉ, Π·Π½Π°ΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
4. ΠΠΎΠ΄ΡΠ»Ρ os.path
Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ os.path
. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ.
import os.path
# ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
directory_path = '/path/to/directory'
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
if os.path.isdir(directory_path):
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
else:
print(f"ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ {directory_path} Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ os.path.isdir()
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True
, Π·Π½Π°ΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΡΠ²ΠΎΠ΄
ΠΡ ΡΠ·Π½Π°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Python. ΠΠ°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ os
ΠΈ pathlib
, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ glob
ΠΈ os.path
. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΡΠ²ΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ Π² Python.