Learn Python Coding
38.8K subscribers
612 photos
27 videos
24 files
369 links
Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills.

Admin: @HusseinSheikho || @Hussein_Sheikho
Download Telegram
fnmatch | Python Standard Library

📖 Provides tools for Unix shell-style wildcard pattern matching against filename strings.

🏷️ #Python
Quiz: Python's __all__: Packages, Modules, and Wildcard Imports

📖 Test your understanding of wildcard imports, the dunder all variable, and how to control your module and package public APIs in Python.

🏷️ #intermediate #python
ftplib | Python Standard Library

📖 Provides tools for connecting to FTP servers and transferring files using the File Transfer Protocol (FTP).

🏷️ #Python
Quiz: Python 3.13: A Modern REPL

📖 Test your understanding of the redesigned Python 3.13 REPL with color support, multiline editing, paste mode, and history browsing.

🏷️ #basics #python
getopt | Python Standard Library

📖 Provides tools for parsing command line options from sys.argv following Unix getopt() conventions, with support for both short and long option styles.

🏷️ #Python
Quiz: Using Python for Data Analysis

📖 Test your understanding of a data analysis workflow in Python, from cleansing raw data with pandas to spotting insights with regression.

🏷️ #intermediate #best-practices #data-science #python
How to Use OpenCode for AI-Assisted Python Coding

📖 Learn how to use OpenCode, an open-source AI coding assistant, with a free Gemini API key to analyze and refactor Python code in your terminal.

🏷️ #intermediate #ai #python #tools
1
💡 Level Up Your IT Career in 2026 – For FREE

Areas covered: #Python #AI #Cisco #PMP #Fortinet #AWS #Azure #Excel #CompTIA #ITIL #Cloud + more

🔗 Download each free resource here:
• Free Courses (Python, Excel, Cyber Security, Cisco, SQL, ITIL, PMP, AWS)
👉https://bit.ly/4ejSFbz

• IT Certs E-book
👉 https://bit.ly/42y8owh

• IT Exams Skill Test
👉 https://bit.ly/42kp7Dv

• Free AI Materials & Support Tools
👉 https://bit.ly/3QEfWek

• Free Cloud Study Guide
👉https://bit.ly/4u8Zb9r

📲 Need exam help? Contact admin: wa.link/40f942

💬 Join our study group (free tips & support): https://chat.whatsapp.com/K3n7OYEXgT1CHGylN6fM5a
1
netrc | Python Standard Library

📖 Provides tools for parsing .netrc credentials files and looking up logins, accounts, and passwords by host.

🏷️ #Python
Exploring pathlib for Working with Paths!
Many projects still use os.path for path operations: join, dirname, exists, and more. It works, but the code quickly becomes cluttered with string manipulations and harder to read — especially when there are many paths being actively combined.

Since Python 3.4, there's pathlib — an object-oriented API for working with files and directories.

Importing the module is simple:

from pathlib import Path


You can create a path like any regular object:

path = Path("data/users.json")


When working with Path and the / operator, the correct separators for the current OS are used automatically. This keeps the code portable between Linux, macOS, and Windows without extra checks.

If you need an absolute path, use resolve():

print(path.resolve())


Very often when working with files, you need to check if a path exists:

if path.exists():
    print("File found")


Pathlib also lets you quickly determine the type of file system object:

path.is_file()
path.is_dir()


The Path object has convenient properties for getting path parts. This eliminates manual string parsing and working with split().

print(path.name)    # users.json
print(path.stem)    # users
print(path.suffix)  # .json
print(path.parent)  # data


For joining paths, the / operator is used, which looks noticeably cleaner and is easier to read compared to os.path.join:

base = Path("logs")
file_path = base / "2026" / "app.log"


Creating directories is also compact and convenient:

Path("backup/archive").mkdir(parents=True, exist_ok=True)


Here: parents=True creates nested directories; exist_ok=True doesn't raise an error if the folder already exists.

For reading and writing text files, there are built-in methods that cover most everyday tasks:

config = Path("config.txt")

config.write_text("debug=true", encoding="utf-8")

content = config.read_text(encoding="utf-8")
print(content)


For binary data, read_bytes() and write_bytes() methods are available.

You can iterate through directory contents using iterdir():

for file in Path("logs").iterdir():
    print(file)


If you need to search for files by pattern, use glob():

for py_file in Path(".").glob("*.py"):
    print(py_file)


And for recursive directory traversal, there's rglob():

for file in Path(".").rglob("*.json"):
    print(file)


Practical example — finding logs older than a certain date. This is a more real-world task:

from pathlib import Path
from datetime import datetime

logs = Path("logs")
limit_date = datetime(2026, 1, 1)

for file in logs.glob("*.log"):
    modified = datetime.fromtimestamp(file.stat().st_mtime)

    if modified < limit_date:
        print(file.name, modified)


The stat() method lets you get file metadata: size, modification time, permissions, and other system data.

Deleting files and directories is also built directly into the Path API:

path.unlink()  # file
path.rmdir()   # empty directory


It's important to note that pathlib doesn't fully replace shutil or os. For example, for copying files, recursive directory deletion, or complex permission operations, additional modules are usually used.



🔥 pathlib makes working with the file system noticeably cleaner: less string operations, better readability, and more predictable code when working with paths and files.



#Python #Pathlib #Programming #Coding #Developer #SoftwareEngineering #TechTips #LearnPython #PythonTips #FileSystem

https://t.iss.one/pythonRe 🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
7
If you work with Python, remember a simple rule: do not modify a list while iterating over it. 🐍🛑 This can lead to unexpected results because the iterator does not track structural changes.

Here is an example that looks logical but works incorrectly: 🤔

items = [1, 2, 2, 3, 4]
for item in items:
    if item == 2:
        items.remove(item)
print(items)
# Output: [1, 2, 3, 4]


It seems that all 2s should disappear, but one remains. Why?

After removing an element, the list shifts, but the loop moves on — as a result, some values are simply skipped. 🔄🚫

How to do it correctly — iterate over a copy:

for item in items[:]:
    if item == 2:
          items.remove(item)
print(items)
# Output: [1, 3, 4]


Even better — use list comprehension: 🚀

items = [x for x in items if x != 2]

Conclusion: 🏁 do not modify a collection during iteration. This can lead to skipped elements, duplication, or even errors during execution. 🛠️🚧

#Python #Coding #Programming #Debugging #TechTips #PythonTips
2
The Python library itertools contains many useful functions. 🐍

One of them is compress(), which returns an iterator over the elements from data, for which the corresponding element in selectors is equal to True. 🔍💻

Here's an example: 📝👇

#Python #Programming #Itertools #Coding #Tech #DataScience
🔥2
Cheat sheet on the basics of Python: 🐍📚

basic syntax and language rules 📝
scalar types — basic data types (int, float, bool, str, NoneType) 🔢

datetime — working with date and time 📅

data structures — Python data structures (list, tuple, dict, set) 🗄

list — mutable lists for storing data collections 📋
tuple — immutable sequences of values 🔒
dict (hash map) — storing data in a key-value format 🗝
set — unique elements without order 🔘

slicing — obtaining parts of sequences through indices and step ✂️

module/library — connecting modules and libraries 🔌

help functions — using help() and dir() to explore the Python API 🛠

#Python #Coding #DataScience #Programming #Tech #DevCommunity
3🔥3👍2
Do you know that Python can shift sequences without slicing and creating new lists? 🤔

When you need to cyclically shift data, many use slicing:

data = data[-1:] + data[:-1]

But deque.rotate() does this at the level of the data structure and usually works more efficiently for cyclical operations. 🚀

q.rotate(1)

A negative value rotates the queue in the other direction. ⬅️

q.rotate(-2)

This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms. 🔄

workers.rotate(-1)

🔥 deque.rotate() allows you to implement cyclical data structures without manual index logic and without creating new lists. 💡

#Python #Programming #Deque #CodingTips #Tech #DevCommunity
5