Tuesday, 21 April 2026

April Python Bootcamp Day 14


 

Day 14: File Handling in Python

File handling is a fundamental concept in Python that allows programs to store and retrieve data from files. Unlike variables, which store data temporarily in memory, files help persist data permanently.

Why File Handling is Important

File handling is widely used in real-world applications. It helps in:

  • Saving user data (such as login systems)
  • Storing logs for debugging and monitoring
  • Working with datasets in data science
  • Reading configuration files for applications

Types of Files in Python

Python mainly works with two common types of files:

1. Text Files (.txt)

These store plain text data and are human-readable.

2. CSV Files (.csv)

CSV stands for Comma Separated Values and is used to store structured data in tabular form.


File Modes in Python

When working with files, Python provides different modes:

  • r → Read file
  • w → Write file (overwrites existing content)
  • a → Append data to file
  • r+ → Read and write

Opening and Closing Files

Basic syntax:

file = open("example.txt", "w")
file.write("Hello, this is Day 14 of Python Bootcamp\n")
file.close()

A better and recommended approach is using the with statement:

with open("example.txt", "r") as f:
content = f.read()
print(content)

This automatically handles closing the file.


Working with Text Files

Writing to a File

with open("example.txt", "w") as f:
f.write("Learning File Handling\n")

Appending Data

with open("example.txt", "a") as f:
f.write("Adding new content\n")

Reading Entire File

with open("example.txt", "r") as f:
content = f.read()
print(content)

Reading Line by Line

with open("example.txt", "r") as f:
for line in f:
print(line.strip())

Reading All Lines into a List

with open("example.txt", "r") as f:
content = f.readlines()
print(content)

File Pointer Concepts

Python maintains a pointer to track the current position in the file.

f.tell() # gives current position
f.seek(0) # moves pointer to beginning

Working with CSV Files

CSV files are used to store tabular data. Python provides the csv module to handle them efficiently.

Writing CSV Data

import csv

data = [
["Name","Age","City"],
["Piyush","21","Gangtok"],
["Rahul","22","Mumbai"]
]

with open("data.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerows(data)

Reading CSV Data

with open("data.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)

Using DictReader

with open("data.csv", "r") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["Name"], row["Age"])

Writing CSV using Dictionary

import csv

data = [
{"Name":"Aman","Age":30},
{"Name":"Rohan","Age":23}
]

with open("data.csv", "w", newline="") as f:
fieldnames = ["Name","Age"]
writer = csv.DictWriter(f, fieldnames=fieldnames)

writer.writeheader()
writer.writerows(data)

Common Errors in File Handling

  • FileNotFoundError: Occurs when file does not exist
  • Using wrong mode: For example, trying to read in write mode
  • Forgetting to close file (if not using with)

Real-Life Example

Taking user input and storing it in a CSV file:

import csv

n = int(input("How many entries do you want to add?"))
data = []

for i in range(n):
print(f"\nEnter details for person {i+1}")
name = input("Enter name: ")
age = input("Enter age: ")
city = input("Enter city: ")

data.append([name, age, city])

with open("person.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["Name","Age","City"])
writer.writerows(data)

print("Data successfully written to person.csv")

Assignment Questions

Basic Level

  1. Create a text file and write 5 lines into it.
  2. Read a text file and print its content.
  3. Append a new line to an existing file.
  4. Read a file line by line and print each line.

Intermediate Level

  1. Count the number of words in a text file.
  2. Count how many lines are present in a file.
  3. Read a file and print only lines that contain a specific word.
  4. Use seek() and tell() to demonstrate file pointer movement.

CSV Based Questions

  1. Create a CSV file with student details (Name, Marks, City).
  2. Read the CSV file and display all records.
  3. Print students who have marks greater than 80.
  4. Use DictReader to access specific columns.

Advanced Level

  1. Take user input and store it in a CSV file.
  2. Convert a text file into CSV format.
  3. Build a small program to search for a student in a CSV file.

Conclusion

File handling is a critical concept in Python that enables real-world application development. From saving user data to working with datasets, mastering file operations is essential for any developer, especially in data science and backend development.

Python Coding Challenge - Question with Answer (ID -210426)

 


Explanation:

🔹 Step 1: Understand the Expression
x and [] or [0]
This uses short-circuit evaluation
Python evaluates left → right

🔹 Step 2: Evaluate x
x = [1, 2, 3]
Non-empty list → Truthy ✅

👉 So:

x and []
Since x is True → result becomes []

🔹 Step 3: Evaluate []
Empty list → Falsy ❌

👉 Now expression becomes:

[] or [0]

🔹 Step 4: Evaluate or
or returns first truthy value

👉 [] is False → move to [0]

👉 Result:

[0]

🔹 Step 5: Final Output
print(...)

👉 Output:

[0]

Monday, 20 April 2026

🚀 Day 26/150 – Print Numbers from 1 to N in Python

 

🚀 Day 26/150 – Print Numbers from 1 to N in Python

Printing numbers from 1 to N is one of the most basic and important programming exercises. It helps you understand loops, iteration, and how Python executes repeated tasks.

Let’s explore different ways to achieve this 👇

🔹 Method 1 – Using for Loop

The most common and beginner-friendly approach.

n = 10 for i in range(1, n + 1): print(i)



✅ Explanation:

  • range(1, n + 1) generates numbers from 1 to N
  • The loop prints each number one by one

🔹 Method 2 – Taking User Input

Make the program dynamic by taking input from the user.

n = int(input("Enter a number: ")) for i in range(1, n + 1): print(i)



✅ Explanation

  • input() takes value from the user
  • int() converts it into an integer
  • Loop prints numbers accordingly

🔹 Method 3 – Using while Loop

A condition-based approach.

n = 10 i = 1 while i <= n: print(i) i += 1




✅ Explanation:

  • Starts from i = 1
  • Runs until i <= n
  • Increments i after each iteration

🔹 Method 4 – Using List Comprehension

A more compact and Pythonic way.

n = 10 numbers = [i for i in range(1, n + 1)] print(numbers)



✅ Explanation:

  • Creates a list of numbers from 1 to N
  • Prints all values at once

🎯 Final Thoughts

  • Use for loop for simple iteration ✅
  • Use while loop when working with conditions 🔄
  • Use list comprehension for compact code 🧠

🚀 Day 25/150 – Check Alphabet, Digit, or Special Character in Python

 

🚀 Day 25/150 – Check Alphabet, Digit, or Special Character in Python

This is a very practical problem that helps you understand character classification in Python. It’s commonly used in input validation, password checking, and text processing.


📌 Goal

Given a character, determine whether it is:

  • 🔤 Alphabet (A–Z, a–z)
  • 🔢 Digit (0–9)
  • Special Character (anything else like @, #, $, etc.)

🔹 Method 1 – Using if-elif-else

char = 'A' if char.isalpha(): print("Alphabet") elif char.isdigit(): print("Digit") else: print("Special Character")




🧠 Explanation:

  • isalpha() → checks if character is a letter
  • isdigit() → checks if it’s a number
  • Anything else → special character

👉 Best for: Clean and beginner-friendly logic

🔹 Method 2 – Taking User Input

char = input("Enter a character: ") if char.isalpha(): print("Alphabet") elif char.isdigit(): print("Digit") else: print("Special Character")








🧠 Explanation:
  • Makes program interactive
  • Works for real-time inputs

👉 Best for: Practical use

🔹 Method 3 – Using Function

def check_char(c): if c.isalpha(): return "Alphabet" elif c.isdigit(): return "Digit" else: return "Special Character" print(check_char('@'))





🧠 Explanation:

  • Function makes code reusable
  • Returns result instead of printing

👉 Best for: Modular code

🔹 Method 4 – Using Lambda Function

check = lambda c: "Alphabet" if c.isalpha() else "Digit" if c.isdigit() else "Special Character" print(check('5'))


🧠 Explanation:

  • One-line compact logic
  • Uses nested conditional expressions

👉 Best for: Short expressions

⚡ Key Takeaways

  • isalpha() → Alphabet
  • isdigit() → Digit
  • Else → Special Character
  • Always validate input length

💡 Pro Tip

Try extending this:

  • Count alphabets, digits, and symbols in a string
  • Build a password strength checker
  • Analyze text data

April Python Bootcamp Day 13

 

What is a Module?

A module is a single Python file (.py) that contains functions, variables, or classes which can be reused in other programs.

Example:
If you create a file named utils.py, it becomes a module.

Why modules are important:

  • Promote code reusability
  • Help in organizing large codebases
  • Reduce redundancy

What is a Package?

A package is a folder that contains multiple modules.

Structure example:

my_package/
├── module1.py
├── module2.py
└── __init__.py

Packages allow you to structure your project logically and scale your code efficiently.


Importing Modules

There are multiple ways to import modules:

1. Import Entire Module

import math
print(math.sqrt(16))

2. Import Specific Functions

from math import sqrt, ceil

print(sqrt(16))
print(ceil(4.2))

3. Using Module Alias

import math as m
print(m.factorial(5))

Built-in Modules in Python

Python provides many built-in modules that simplify development.


Math Module

Used for mathematical operations.

import math

print(math.sqrt(16))
print(math.ceil(4.2))
print(math.floor(4.9))
print(math.pow(2, 3))
print(math.factorial(5))

Common functions:

  • sqrt()
  • ceil()
  • floor()
  • pow()
  • factorial()

Random Module

Used for generating random values.

import random

print(random.random())
print(random.randint(1, 10))
print(random.choice([1, 2, 3, 4]))

Shuffling example:

lst = [1, 2, 3, 4]
random.shuffle(lst)
print(lst)

Other function:

  • uniform(a, b) → random float between a and b

Datetime Module

Used for working with dates and time.

from datetime import datetime, date, timedelta

print(datetime.now())
print(date.today())

d = datetime.now()
print(d.strftime("%Y-%m-%d"))

new_date = d + timedelta(days=5)
print(new_date)

Key functionalities:

  • Current date and time
  • Formatting dates
  • Date arithmetic

OS Module

Used for interacting with the operating system.

import os

print(os.getcwd())
print(os.listdir())

Common operations:

  • Get current directory
  • List files
  • Create/delete folders
  • Rename files

Key Takeaways

  • Modules help reuse code
  • Packages help organize large projects
  • Built-in modules save development time
  • Proper imports improve code readability

Assignment Questions

Basic Level

  1. Import the math module and find square root of a number
  2. Import specific functions from math and use ceil() and floor()
  3. Generate a random number between 1 and 50
  4. Print current date using datetime
  5. Print current working directory using os

Intermediate Level

  1. Generate a list of 5 random numbers using random.randint()
  2. Shuffle a list of numbers using random.shuffle()
  3. Format current date as DD-MM-YYYY
  4. Create a program to add 7 days to current date
  5. List all files in your current directory

Advanced Level

  1. Create your own module with functions (e.g., add, subtract) and import it
  2. Create a package with at least 2 modules and use them
  3. Build a mini project using math and random (e.g., number guessing game)
  4. Write a script to organize files in a folder using os
  5. Combine datetime and os to log file creation time

Summary

Modules and packages are fundamental for writing scalable Python applications.

  • Modules allow code reuse
  • Packages provide structure
  • Built-in modules handle complex operations easily

Understanding this concept is essential before moving into:

  • Large projects
  • Frameworks
  • Real-world software development

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (275) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (30) Azure (11) BI (10) Books (262) Bootcamp (11) C (78) C# (12) C++ (83) cloud (1) Course (87) Coursera (300) Cybersecurity (31) data (6) Data Analysis (34) Data Analytics (22) data management (15) Data Science (366) Data Strucures (21) Deep Learning (173) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (20) Finance (10) flask (4) flutter (1) FPL (17) Generative AI (73) Git (10) Google (53) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (42) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (314) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (14) PHP (20) Projects (34) Python (1376) Python Coding Challenge (1156) Python Mathematics (1) Python Mistakes (51) Python Quiz (535) Python Tips (6) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (51) Udemy (18) UX Research (1) web application (11) Web development (9) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)