آموزش فایل ها در پایتون، پایتون ابزارهای متنوعی برای کار با فایلها ارائه میدهد. میتوانید فایلها را باز کنید، دادهها را بخوانید، اطلاعات جدید بنویسید و فایلها را مدیریت کنید.
1. کار با فایلها در پایتون (خواندن و نوشتن دادهها)
باز کردن فایل با استفاده از تابع open
تابع open() برای باز کردن فایلها استفاده میشود. این تابع دو آرگومان اصلی دارد:
- نام فایل: نام یا مسیر فایل.
- حالت دسترسی: نوع عملیاتی که میخواهید روی فایل انجام دهید، مانند خواندن یا نوشتن.
حالتهای رایج:
| حالت | توضیح |
|---|---|
r |
باز کردن فایل فقط برای خواندن |
w |
باز کردن فایل فقط برای نوشتن (حذف محتوا) |
a |
باز کردن فایل برای افزودن اطلاعات |
r+ |
باز کردن فایل برای خواندن و نوشتن |
خواندن از فایل
مثال:
# فایل نمونه: sample.txt با محتوای "Hello, World!"
with open("sample.txt", "r") as file:
content = file.read()
print(content)
روشهای دیگر خواندن:
read(size): خواندن تعداد مشخصی کاراکتر.readline(): خواندن یک خط.readlines(): خواندن تمام خطوط به صورت لیست.
مثال:
with open("sample.txt", "r") as file:
print(file.readline()) # خواندن اولین خط
print(file.readlines()) # خواندن باقی خطوط به صورت لیست
نوشتن در فایل
مثال:
with open("output.txt", "w") as file:
file.write("This is a new file.\n")
file.write("It contains some text.")
توضیح:
- حالت
wفایل را باز کرده و محتوا را حذف میکند. - برای اضافه کردن اطلاعات به فایل موجود، از حالت
aاستفاده کنید.
افزودن اطلاعات به فایل:
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
مدیریت فایلها با ماژول os
بررسی وجود فایل:
import os
if os.path.exists("sample.txt"):
print("File exists.")
else:
print("File does not exist.")
حذف فایل:
os.remove("output.txt")
print("File removed.")
خواندن و نوشتن فایلهای باینری
مثال:
# نوشتن دادههای باینری
with open("binary_file.bin", "wb") as file:
file.write(b"Binary data here")
# خواندن دادههای باینری
with open("binary_file.bin", "rb") as file:
binary_content = file.read()
print(binary_content)
استفاده از حالتهای پیشرفته
خواندن و نوشتن فایلهای CSV
ماژول csv برای کار با فایلهای CSV استفاده میشود.
مثال:
import csv
# نوشتن به فایل CSV
with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Name", "Age", "City"])
writer.writerow(["Alice", 25, "New York"])
writer.writerow(["Bob", 30, "Los Angeles"])
# خواندن از فایل CSV
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
خروجی:
['Name', 'Age', 'City']
['Alice', '25', 'New York']
['Bob', '30', 'Los Angeles']
مدیریت خطاها
در هنگام کار با فایلها ممکن است خطاهایی رخ دهد. استفاده از مدیریت خطاها میتواند برنامه شما را مقاومتر کند.
مثال:
try:
with open("nonexistent.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("The file does not exist.")
except Exception as e:
print(f"An error occurred: {e}")
به طور کلی می توان گفت:
پایتون ابزارهای قدرتمندی برای کار با فایلها ارائه میدهد. با استفاده از این ابزارها میتوانید فایلهای متنی، باینری و حتی فایلهای خاص مانند CSV را مدیریت کنید. تسلط بر کار با فایلها مهارتی ضروری برای برنامهنویسان است.
2. کار با فایلها به صورت متنی و باینری
کار با فایلها به صورت متنی و باینری در پایتون
پایتون ابزارهای قوی و سادهای برای کار با فایلها ارائه میدهد. میتوانید با فایلها به دو صورت متنی و باینری کار کنید. این امکانات برای ذخیره، بازیابی، و پردازش دادهها مفید هستند.
کار با فایلهای متنی
فایلهای متنی رایجترین نوع فایلها هستند که دادهها به صورت متنی ذخیره میشوند.
خواندن فایل متنی
برای خواندن فایل متنی از حالت r استفاده میشود:
with open("sample.txt", "r") as file:
content = file.read()
print(content)
نوشتن به فایل متنی
برای نوشتن به یک فایل متنی از حالت w یا a استفاده میکنید:
# حالت 'w': محتوای قبلی حذف میشود
with open("output.txt", "w") as file:
file.write("This is a text file.\n")
file.write("It supports multiple lines.")
# حالت 'a': محتوای جدید به انتهای فایل اضافه میشود
with open("output.txt", "a") as file:
file.write("\nAppending this line.")
خواندن خط به خط
برای خواندن فایلها به صورت خط به خط از readline() یا readlines() استفاده کنید:
with open("output.txt", "r") as file:
for line in file:
print(line.strip())
کار با فایلهای باینری
فایلهای باینری دادهها را به صورت صفر و یک ذخیره میکنند و برای ذخیره اطلاعات مانند تصاویر، فایلهای صوتی و ویدئویی مفید هستند.
نوشتن فایل باینری
برای نوشتن دادههای باینری از حالت wb استفاده میشود:
with open("binary_file.bin", "wb") as file:
file.write(b"Binary data example")
خواندن فایل باینری
برای خواندن دادههای باینری از حالت rb استفاده کنید:
with open("binary_file.bin", "rb") as file:
data = file.read()
print(data)
تفاوت فایلهای متنی و باینری
| ویژگی | فایل متنی | فایل باینری |
|---|---|---|
| قالب ذخیرهسازی | کاراکترهای قابل خواندن | دادههای خام (صفر و یک) |
| کاربرد | ذخیره متنها و اطلاعات ساده | ذخیره تصاویر، صدا، و دادههای پیچیده |
| باز کردن | حالت r, w, a |
حالت rb, wb, ab |
ترکیب دادههای متنی و باینری
گاهی اوقات ممکن است نیاز داشته باشید که دادههای متنی و باینری را در یک برنامه مدیریت کنید.
مثال ترکیبی:
# نوشتن داده متنی و باینری
with open("mixed_file.bin", "wb") as file:
text = "Header: This is text data\n"
binary_data = b"\x89PNG\r\n"
file.write(text.encode("utf-8"))
file.write(binary_data)
# خواندن داده متنی و باینری
with open("mixed_file.bin", "rb") as file:
content = file.read()
print(content.decode("utf-8", errors="replace"))
خروجی:
Header: This is text data
PNG
نکات مهم
- استفاده از
with: هنگام کار با فایلها از بلوکwithاستفاده کنید تا از بسته شدن خودکار فایلها مطمئن شوید. - حالت مناسب: بسته به نوع داده (متنی یا باینری) حالت فایل را انتخاب کنید.
- مدیریت استثناها: هنگام کار با فایلها مدیریت خطاها (مانند فایلهای موجود نبودن) را در نظر بگیرید.
به طور کلی می توان گفت:
پایتون با ارائه ابزارهای قوی برای کار با فایلهای متنی و باینری، مدیریت دادهها را بسیار ساده کرده است. آشنایی با این ابزارها مهارتی ضروری برای هر برنامهنویس است. با این امکانات، شما میتوانید دادههای خود را بهینه ذخیره و بازیابی کنید.
