π ΠΠ°ΠΊ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΈΡΠΎΠ½Π°: ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±
ΠΠ°ΠΊ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² Python?
ΠΠ»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ os:
import os
ΠΠ°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ os.listdir() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅:
folder_path = 'ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅'
file_list = os.listdir(folder_path)
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ file_list Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ glob Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
import glob
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
folder_path = 'ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅'
file_list = glob.glob(folder_path + '/*.txt')
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .txt ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ os ΠΈΠ»ΠΈ glob.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΠΈΡΠΎΠ½Π΅?
Π§Π°ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ. Π ΠΠΈΡΠΎΠ½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΡΡΠΈΡΡ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°.
1. ΠΠΎΠ΄ΡΠ»Ρ os
ΠΠΎΠ΄ΡΠ»Ρ os ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ os.listdir() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
import os
folder_path = "ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅"
file_list = os.listdir(folder_path)
for file_name in file_list:
print(file_name)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ folder_path ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ os.listdir() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΡ ΠΈΠΌΠ΅Π½Π°.
2. ΠΠΎΠ΄ΡΠ»Ρ glob
ΠΠΎΠ΄ΡΠ»Ρ glob ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ glob.glob() Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
import glob
folder_path = "ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅"
file_list = glob.glob(folder_path + "/*")
for file_name in file_list:
print(file_name)
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ folder_path ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ glob.glob() Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ folder_path + "/*" Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
3. ΠΠΎΠ΄ΡΠ»Ρ Path ΠΈΠ· pathlib
ΠΠΎΠ΄ΡΠ»Ρ Path ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pathlib ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΡΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ iterdir() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
from pathlib import Path
folder_path = Path("ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅")
file_list = [file.name for file in folder_path.iterdir() if file.is_file()]
for file_name in file_list:
print(file_name)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΡΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° Path ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ pathlib. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ iterdir() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° is_file(). ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
4. Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄ ΠΏΠ°ΠΏΠΎΠΊ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΎΠΊ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
import os
def read_files_recursively(folder_path):
for root, dirs, files in os.walk(folder_path):
for file_name in files:
file_path = os.path.join(root, file_name)
print(file_path)
folder_path = "ΠΏΡΡΡ_ΠΊ_ΠΏΠ°ΠΏΠΊΠ΅"
read_files_recursively(folder_path)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ read_files_recursively(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ os.walk() Π΄Π»Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΏΠ°ΠΏΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ os.path.join() ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΠΈΡΠΎΠ½Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ. Π£Π΄Π°ΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!