#سوال
🔶 توضیح تصاویر:
🔶 سوال:
🔖 #Python, #پایتون
👤 ȺʍìɾⱮօհąʍʍąժ
💎 Channel: @DevelopixPython
🔶 توضیح تصاویر:
با توجه به بنچمارک تصویر اول (P1) که تقریبا برابر با 6 ثانیه است نتیجه مورد انتظار در تصویر دوم (P2) با در نظر گرفتن اینکه دو تابع با پردازش یکسان فراخوانی شده و به دو thread مجزا ارسال شده، عدد مورد انتظار ~6 ثانیه است ولی این عدد تقریبا دو برابر نتیجه بنچمارک قبلیه که غیرقابل انتظاره. در ادامه تصویر سوم (P3) با قرار دادن تأخیر ۶ ثانیه داخل بلاک task_1 انتظار میره نتیجه برابر با 12 + 6 ثانیه باشه (با توجه به نتایج تصاویر قبلی) ولی این اتفاقا نمیفته.
🔶 سوال:
دلیل دو برابر شدن بنچمارک (P2) و عدم اعمال شدن تاخیر ۶ ثانیهی (P3) را توضیح بدید؟
🔖 #Python, #پایتون
👤 ȺʍìɾⱮօհąʍʍąժ
💎 Channel: @DevelopixPython
👍7❤4🔥2👎1
پایتون و هوش مصنوعی
گروه توسعهدهندگان پایتون | Python
کنفرانس: پایتون و هوش مصنوعی 🤖🐍
🤔 تا حالا برات سوال شده که چطوری با پایتون میشه وارد دنیای هوش مصنوعی شد؟
یا چرا تقریباً همه از پایتون برای AI استفاده میکنن؟
🔥 این فایل دقیقاً برای توئه!
توی این کنفرانس، با زبونی ساده و خودمونی دربارهی مسیر یادگیری 📚،
کاربردهای واقعی 🌍
و آیندهی شغلی 💼 در دنیای هوش مصنوعی صحبت کردیم.
🔖 #Python #پایتون
👤 Charisma
💎 Channel: @DevelopixPython
🤔 تا حالا برات سوال شده که چطوری با پایتون میشه وارد دنیای هوش مصنوعی شد؟
یا چرا تقریباً همه از پایتون برای AI استفاده میکنن؟
🔥 این فایل دقیقاً برای توئه!
توی این کنفرانس، با زبونی ساده و خودمونی دربارهی مسیر یادگیری 📚،
کاربردهای واقعی 🌍
و آیندهی شغلی 💼 در دنیای هوش مصنوعی صحبت کردیم.
🔖 #Python #پایتون
👤 Charisma
💎 Channel: @DevelopixPython
❤9🔥3👎2👍1
پایتون برای کارهای روزمره سیستمعامل 🧰✨
خیلی وقتها پشت سیستم چند تا کار تکراری داریم: جابهجا کردن فایلها، عوض کردن اسمها، پیدا کردن فایلهای قدیمی و پاک کردن لاگها. این چیزها اگر دستی انجام بشن هم وقت میگیرن، هم احتمال خطا زیاده.
با یک اسکریپت ساده پایتون میشه این کارها رو اتومات کرد. ایدهی کلی اینه: از ماژولهای استاندارد مثل os و pathlib و shutil استفاده میکنیم تا بدون نیاز به هیچ کتابخونه اضافی، فولدرهامون رو مرتب کنیم.
یکی از آموزشهای خوب برای شروع این فاز، بخش "File and Directory Access" توی مستندات رسمی پایتونه:
pathlib – Object-oriented filesystem paths
اینجا یک مثال واقعی: اسکریپتی که یک فولدر رو اسکن میکنه و فایلها رو بر اساس پسوند، توی زیرفولدرهای جدا میریزه (مثلا
چند نکتهی کاربردی:
🔹 استفاده از Pathlib خیلی خواناتر از کار با
🔹 قبل از اجرای اسکریپت روی فولدر اصلی، بهتره روی یک فولدر تست امتحان بشه تا مطمئن باشی چیزی اشتباه جابهجا نمیشه.
🔹 میشه این ایده رو گسترش داد: مثلا فایلهای قدیمیتر از ۳۰ روز رو ببری داخل یک فولدر
مستندات رسمی پایتون برای کار با فایلسیستم خیلی تمیز و قابل اتکا هستن؛ هر وقت خواستی اسکریپت رو حرفهایتر کنی، سر زدن به این صفحهها واقعا کمک میکنه:
shutil – High-level file operations
یک بار این اسکریپت رو روی فولدر Downloads خودت اجرا کن، اگر مفید بود، تو پروژههای دیگهات هم از همین الگو استفاده کن و با بقیه پایتونیستها به اشتراک بذار 🚀
🔖 #Python #پایتون #Python #Automation #pathlib #shutil #Scripting
👤 Developix
💎 Channel: @DevelopixPython
خیلی وقتها پشت سیستم چند تا کار تکراری داریم: جابهجا کردن فایلها، عوض کردن اسمها، پیدا کردن فایلهای قدیمی و پاک کردن لاگها. این چیزها اگر دستی انجام بشن هم وقت میگیرن، هم احتمال خطا زیاده.
با یک اسکریپت ساده پایتون میشه این کارها رو اتومات کرد. ایدهی کلی اینه: از ماژولهای استاندارد مثل os و pathlib و shutil استفاده میکنیم تا بدون نیاز به هیچ کتابخونه اضافی، فولدرهامون رو مرتب کنیم.
یکی از آموزشهای خوب برای شروع این فاز، بخش "File and Directory Access" توی مستندات رسمی پایتونه:
pathlib – Object-oriented filesystem paths
اینجا یک مثال واقعی: اسکریپتی که یک فولدر رو اسکن میکنه و فایلها رو بر اساس پسوند، توی زیرفولدرهای جدا میریزه (مثلا
images، videos، documents). این دقیقا چیزیه که تو خیلی از اسکریپتهای مدیریت دانلود استفاده میشه.from pathlib import Path
import shutil
BASE_DIR = Path.home() / "Downloads"
EXT_MAP = {
"images": [".png", ".jpg", ".jpeg", ".gif"],
"videos": [".mp4", ".mkv", ".avi"],
"documents": [".pdf", ".docx", ".xlsx", ".pptx"],
"archives": [".zip", ".rar", ".tar", ".gz"],
}
def get_category(ext: str) -> str | None:
ext = ext.lower()
for category, exts in EXT_MAP.items():
if ext in exts:
return category
return None
for item in BASE_DIR.iterdir():
if not item.is_file():
continue
category = get_category(item.suffix)
if not category:
continue
target_dir = BASE_DIR / category
target_dir.mkdir(exist_ok=True)
target_path = target_dir / item.name
print(f"Moving {item.name} -> {target_path}")
shutil.move(str(item), str(target_path))
چند نکتهی کاربردی:
🔹 استفاده از Pathlib خیلی خواناتر از کار با
os.path و رشتههای خامه. کار با مسیرها رو شبیه Objectها میکنه.🔹 قبل از اجرای اسکریپت روی فولدر اصلی، بهتره روی یک فولدر تست امتحان بشه تا مطمئن باشی چیزی اشتباه جابهجا نمیشه.
🔹 میشه این ایده رو گسترش داد: مثلا فایلهای قدیمیتر از ۳۰ روز رو ببری داخل یک فولدر
old یا لاگهای بالای یک حجم مشخص رو پاک کنی. همهش با همین ماژولهای استاندارد قابل انجامه.مستندات رسمی پایتون برای کار با فایلسیستم خیلی تمیز و قابل اتکا هستن؛ هر وقت خواستی اسکریپت رو حرفهایتر کنی، سر زدن به این صفحهها واقعا کمک میکنه:
shutil – High-level file operations
یک بار این اسکریپت رو روی فولدر Downloads خودت اجرا کن، اگر مفید بود، تو پروژههای دیگهات هم از همین الگو استفاده کن و با بقیه پایتونیستها به اشتراک بذار 🚀
🔖 #Python #پایتون #Python #Automation #pathlib #shutil #Scripting
👤 Developix
💎 Channel: @DevelopixPython
👍4❤3
📌 امروز یک اسکریپت کاملاً کاربردی میسازیم: اسکن یک پوشه، پیدا کردن فایلها، و خروجی گرفتن یک گزارش CSV با Python.
سناریو واقعی 👇
فرض کن روی سرور یا سیستم خودت هزاران فایل داری و میخواهی:
- اسم همهی فایلها
- سایز هر فایل
- تاریخ آخرین تغییر
رو بهصورت یک گزارش تمیز در یک فایل CSV داشته باشی تا بعداً با Excel یا pandas تحلیلش کنی.
این کار را با ماژولهای استاندارد os و pathlib و csv انجام میدهیم، کاملاً بدون وابستگی خارجی. برای جزئیات بیشتر هم میشود به مستندات رسمی Python سر زد:
os
pathlib
csv
💡 ایده کلی
یک مسیر ورودی میگیریم (مثلاً یک پوشه پروژه، یا فولدر logs سرور)، روی کل زیرپوشهها loop میزنیم، اطلاعات هر فایل را میخوانیم و در یک فایل
نمونه کد کامل:
نکتهها و کاربردهای واقعی 🔍
- این اسکریپت روی هر سیستم دارای Python 3 اجرا میشود، بدون نصب پکیج اضافه.
- خروجی
- برای مسیرهای حجیم، بهتر است روی دیسکهای شبکهای کمی حوصله داشته باشی؛
یک بار روی پوشه پروژهات اجرا کن، نتیجهاش معمولاً شگفتانگیز است 🤓
اگر مفید بود، برای بقیه پایتونیستها هم بفرست تا آنها هم از این اسکریپت ساده اما کاربردی استفاده کنند.
🔖 #Python #پایتون #Python #Automation #Filesystem #Script #CSV #pandas
👤 Developix
💎 Channel: @DevelopixPython
سناریو واقعی 👇
فرض کن روی سرور یا سیستم خودت هزاران فایل داری و میخواهی:
- اسم همهی فایلها
- سایز هر فایل
- تاریخ آخرین تغییر
رو بهصورت یک گزارش تمیز در یک فایل CSV داشته باشی تا بعداً با Excel یا pandas تحلیلش کنی.
این کار را با ماژولهای استاندارد os و pathlib و csv انجام میدهیم، کاملاً بدون وابستگی خارجی. برای جزئیات بیشتر هم میشود به مستندات رسمی Python سر زد:
os
pathlib
csv
💡 ایده کلی
یک مسیر ورودی میگیریم (مثلاً یک پوشه پروژه، یا فولدر logs سرور)، روی کل زیرپوشهها loop میزنیم، اطلاعات هر فایل را میخوانیم و در یک فایل
report.csv ذخیره میکنیم.نمونه کد کامل:
import os
from pathlib import Path
import csv
from datetime import datetime
def scan_directory(root_dir: str, output_csv: str = "report.csv") -> None:
root_path = Path(root_dir).expanduser().resolve()
if not root_path.exists() or not root_path.is_dir():
raise ValueError(f"مسیر نامعتبر است: {root_path}")
rows = []
for dirpath, dirnames, filenames in os.walk(root_path):
for name in filenames:
file_path = Path(dirpath) / name
stat = file_path.stat()
size_bytes = stat.st_size
mtime = datetime.fromtimestamp(stat.st_mtime)
rows.append({
"path": str(file_path),
"size_bytes": size_bytes,
"modified_at": mtime.isoformat(timespec="seconds"),
})
with open(output_csv, "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=["path", "size_bytes", "modified_at"])
writer.writeheader()
writer.writerows(rows)
print(f"گزارش ساخته شد: {output_csv} ({len(rows)} فایل)")
if __name__ == "__main__":
# مثال: اسکن پوشه جاری
scan_directory(".")
نکتهها و کاربردهای واقعی 🔍
- این اسکریپت روی هر سیستم دارای Python 3 اجرا میشود، بدون نصب پکیج اضافه.
- خروجی
report.csv را میتوانی مستقیم با pandas بخوانی و روی آن تحلیل اندازه فایلها، پیدا کردن فایلهای خیلی بزرگ، یا مانیتور کردن growth یک فولدر انجام بدهی.- برای مسیرهای حجیم، بهتر است روی دیسکهای شبکهای کمی حوصله داشته باشی؛
os.walk همه چیز را میگردد.یک بار روی پوشه پروژهات اجرا کن، نتیجهاش معمولاً شگفتانگیز است 🤓
اگر مفید بود، برای بقیه پایتونیستها هم بفرست تا آنها هم از این اسکریپت ساده اما کاربردی استفاده کنند.
🔖 #Python #پایتون #Python #Automation #Filesystem #Script #CSV #pandas
👤 Developix
💎 Channel: @DevelopixPython
👍6👎3❤1
FastAPI یکی از محبوبترین فریمورکهای مدرن برای ساخت REST API با Python است؛ سریع، تایپمحور و کاملا async-friendly 🚀
با FastAPI میشود خیلی سریع میکروسرویس، backend برای موبایل یا API برای مدلهای ML ساخت؛ بدون اینکه درگیر boilerplate زیاد شد.
چرا FastAPI؟
• استفاده از type hints پایتون و تولید خودکار docs با OpenAPI و Swagger UI 📚
• پرفورمنس بالا (روی Starlette و Pydantic)
• اعتبارسنجی ورودیها بهصورت خودکار
• پشتیبانی عالی از async/await و dependency injection
نصب و مثال سریع
برای پروژههای جدیدی که نیاز به API سریع، تمیز و قابل توسعه دارند، امتحان FastAPI کاملا میارزد ✨
مستندات رسمی:
Docs
GitHub
🔖 #Python #پایتون #Python #FastAPI #Backend #API #وب
👤 Developix
💎 Channel: @DevelopixPython
با FastAPI میشود خیلی سریع میکروسرویس، backend برای موبایل یا API برای مدلهای ML ساخت؛ بدون اینکه درگیر boilerplate زیاد شد.
چرا FastAPI؟
• استفاده از type hints پایتون و تولید خودکار docs با OpenAPI و Swagger UI 📚
• پرفورمنس بالا (روی Starlette و Pydantic)
• اعتبارسنجی ورودیها بهصورت خودکار
• پشتیبانی عالی از async/await و dependency injection
نصب و مثال سریع
pip install fastapi uvicorn
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/hello")
async def read_hello(name: str = "dev"):
return {"message": f"Hello {name}!"}
# اجرا:
# uvicorn main:app --reload
برای پروژههای جدیدی که نیاز به API سریع، تمیز و قابل توسعه دارند، امتحان FastAPI کاملا میارزد ✨
مستندات رسمی:
Docs
GitHub
🔖 #Python #پایتون #Python #FastAPI #Backend #API #وب
👤 Developix
💎 Channel: @DevelopixPython
❤3👍1