Справочник Программиста
6.29K subscribers
1.35K photos
387 videos
64 files
1.7K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
#ЧтениеPowerPointФайловСПомощьюPython
Код из видео:

from pptx import Presentation

root = Presentation("Example.pptx")

for slide in root.slides:
for shape in slide.shapes:
if not shape.has_text_frame:
continue
for paragraph in shape.text_frame.paragraphs:
for run in paragraph.runs:
print(run.text)
👍6
Почти добавил всё, что хотел в "ОС" на python. В ближайшие дни выйдет вторая часть ;)
8👍3
го обгоним 1 часть))
👍102
Сортировка файлов по расширениям с помощью python
Код из видео:

import os
import glob
import shutil

extensions = {
"jpg": "images",
"png": "images",
"ico": "images",
"gif": "images",
"svg": "images",
"sql": "sql",
"exe": "programs",
"msi": "programs",
"pdf": "pdf",
"xlsx": "excel",
"csv": "excel",
"rar": "archive",
"zip": "archive",
"gz": "archive",
"tar": "archive",
"docx": "word",
"torrent": "torrent",
"txt": "text",
"ipynb": "python",
"py": "python",
"pptx": "powerpoint",
"ppt": "powerpoint",
"mp3": "audio",
"wav": "audio",
"mp4": "video",
"m3u8": "video",
"webm": "video",
"ts": "video",
"json": "json",
"css": "web",
"js": "web",
"html": "web",
"apk": "apk",
"sqlite3": "sqlite3"
}

path = ""


for extension, folder_name in extensions.items():
files = glob.glob(os.path.join(path, f"*.{extension}"))
print(f"[*] Найдено {len(files)} файла(-ов) с расширением {extension}.")
if not os.path.isdir(os.path.join(path, folder_name)) and files:
os.mkdir(os.path.join(path, folder_name))
print(f"[+] Создана папка {folder_name}.")

for file in files:
basename = os.path.basename(file)
dst = os.path.join(path, folder_name, basename)
print(f"[*] Перенесён файл '{file}' в {dst}")
shutil.move(file, dst)
👍11
Не волнуйтесь, это последнее видео по PowerPoint))
Получаем размер каталога (папки) в python
Код из видео:

import os
import matplotlib.pyplot as plt


def get_size_format(b, factor=1024, suffix="B"):
for unit in ["", "K", "M", "G", "T", "P", "E", "Z"]:
if b < factor:
return f"{b:.2f}{unit}{suffix}"
b /= factor
return f"{b:.2f}Y{suffix}"


def get_directory_size(directory):
total = 0
try:
for entry in os.scandir(directory):
if entry.is_file():
total += entry.stat().st_size
elif entry.is_dir():
total += get_directory_size(entry.path)
except NotADirectoryError:
return os.path.getsize(directory)
except PermissionError:
return 0
return total


def plot_pie(sizes, names):
plt.pie(sizes, labels=names, autopct=lambda pct: f"{pct:.2f}%")
plt.title("Размеры подкаталогов и файлов")
plt.show()


folder_path = ''

directory_sizes = []
names = []

for directory in os.listdir(folder_path):
directory = os.path.join(folder_path, directory)
directory_size = get_directory_size(directory)

if directory_size == 0:
continue

directory_sizes.append(directory_size)
names.append(os.path.basename(directory) + ": " + get_size_format(directory_size))


print("Общий размер каталога:", get_size_format(sum(directory_sizes)))
plot_pie(directory_sizes, names)
👍6