میتوان از شمارههای اندیس (عدد داخل آکولاد {0}) برای اطمینان از قرار گرفتن مقادیر در جای درست استفاده کرد
مثال
quantity = 3
itemno = 567
price = 49
myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
خروجی:
I want 3 pieces of item number 567 for 49.00 dollars.
همچنین اگر بخواهیم به یک مقدار بیش از یکبار ارجاع دهیم، از شماره اندیس استفاده میکنیم:
مثال
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age, name))
خروجی:
His name is John. John is 36 years old.
پس با شمارههای اندیس میتوانیم مطمئن شویم که مقادیر در جای درست قرار میگیرند.
مثال
quantity = 3
itemno = 567
price = 49
myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
خروجی:
I want 3 pieces of item number 567 for 49.00 dollars.
همچنین اگر بخواهیم به یک مقدار بیش از یکبار ارجاع دهیم، از شماره اندیس استفاده میکنیم:
مثال
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age, name))
خروجی:
His name is John. John is 36 years old.
پس با شمارههای اندیس میتوانیم مطمئن شویم که مقادیر در جای درست قرار میگیرند.
شاخص های نامگذاری شده
میتوان از نامهای اندیس استفاده کرد، با وارد کردن یک نام داخل آکولادها {carname}، اما در این صورت باید هنگام پاس دادن مقادیر پارامتر از نامها استفاده کرد:
txt.format(carname="Ford")
مثال
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname = "Ford", model = "Mustang"))
خروجی
I have a Ford, it is a Mustang.
پس میتوان با استفاده از نامهای اندیس ها ، به جای شمارههای اندیس ها، مقادیر را اختصاص داد.
میتوان از نامهای اندیس استفاده کرد، با وارد کردن یک نام داخل آکولادها {carname}، اما در این صورت باید هنگام پاس دادن مقادیر پارامتر از نامها استفاده کرد:
txt.format(carname="Ford")
مثال
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname = "Ford", model = "Mustang"))
خروجی
I have a Ford, it is a Mustang.
پس میتوان با استفاده از نامهای اندیس ها ، به جای شمارههای اندیس ها، مقادیر را اختصاص داد.
🔰 باز کردن فایل یکی از مهمترین بخش های برنامه نویسی پایتون است.
برای باز کردن فایل در پایتون از تابع open() استفاده میکنیم.
این تابع دو پارامتر دارد:
🟡 نام فایل - نام فایلی که میخواهیم باز کنیم
🟡 حالت - مشخص میکند فایل را به چه صورتی باز کنیم. چهار حالت وجود دارد:
⚫️ "r"
- فقط خواندن. پیش فرض است. اگر فایل وجود نداشته باشد خطا میدهد.
⚫️ "a"
- اضافه کردن. به انتهای فایل اضافه میکند. اگر فایل وجود نداشت یکی جدید میسازد.
⚫️ "w"
- نوشتن. فایل را برای نوشتن باز میکند. اگر فایل وجود داشته باشد جایگزین میشود.
⚫️ "x"
- ایجاد فایل جدید. اگر فایل وجود داشته باشد خطا میدهد.
همچنین میتوان مشخص کرد فایل به صورت متن یا باینری باز شود:
⚪️ "t"
- متن. پیش فرض است.
⚪️ "b"
- باینری. مثلا برای عکس ها.
خلاصه اینکه تابع open() امکانات زیادی برای باز کردن، خواندن، نوشتن و اضافه کردن به فایل ها در پایتون فراهم میکند.
🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩
⭕️ نحوه استفاده
برای باز کردن یک فایل برای خواندن، فقط کافی است نام فایل را مشخص کنیم:
f = open("demofile.txt")
کد بالا معادل است با:
f = open("demofile.txt", "rt")
چون "r" به معنای خواندن و "t" به معنای متن هستند که مقادیر پیشفرض هستند، نیازی به مشخص کردن آنها نیست.
🔴 مطمئن شوید فایل وجود دارد، در غیر این صورت خطایی رخ میدهد.
برای باز کردن فایل در پایتون از تابع open() استفاده میکنیم.
این تابع دو پارامتر دارد:
🟡 نام فایل - نام فایلی که میخواهیم باز کنیم
🟡 حالت - مشخص میکند فایل را به چه صورتی باز کنیم. چهار حالت وجود دارد:
⚫️ "r"
- فقط خواندن. پیش فرض است. اگر فایل وجود نداشته باشد خطا میدهد.
⚫️ "a"
- اضافه کردن. به انتهای فایل اضافه میکند. اگر فایل وجود نداشت یکی جدید میسازد.
⚫️ "w"
- نوشتن. فایل را برای نوشتن باز میکند. اگر فایل وجود داشته باشد جایگزین میشود.
⚫️ "x"
- ایجاد فایل جدید. اگر فایل وجود داشته باشد خطا میدهد.
همچنین میتوان مشخص کرد فایل به صورت متن یا باینری باز شود:
⚪️ "t"
- متن. پیش فرض است.
⚪️ "b"
- باینری. مثلا برای عکس ها.
خلاصه اینکه تابع open() امکانات زیادی برای باز کردن، خواندن، نوشتن و اضافه کردن به فایل ها در پایتون فراهم میکند.
🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩🧩
⭕️ نحوه استفاده
برای باز کردن یک فایل برای خواندن، فقط کافی است نام فایل را مشخص کنیم:
f = open("demofile.txt")
کد بالا معادل است با:
f = open("demofile.txt", "rt")
چون "r" به معنای خواندن و "t" به معنای متن هستند که مقادیر پیشفرض هستند، نیازی به مشخص کردن آنها نیست.
🔴 مطمئن شوید فایل وجود دارد، در غیر این صورت خطایی رخ میدهد.
🟣 در پایتون برای باز کردن یک فایل از تابع داخلی open() استفاده میکنیم.
این تابع یک شیء فایل برمیگرداند که دارای روش read() برای خواندن محتوای فایل است:
مثال:
f = open("demofile.txt", "r")
print(f.read())
نتیجه:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
🟪 اگر فایل در مسیر دیگری قرار دارد، باید مسیر کامل فایل را مشخص کنیم:
مثال:
f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())
نتیجه:
Welcome to this text file!
This file is located in a folder named "myfiles", on the D drive.
Good Luck!
بنابراین با استفاده از تابع open() و مشخص کردن مسیر فایل، میتوانیم فایلها را در پایتون باز کنیم و محتوای آنها را بخوانیم.
این تابع یک شیء فایل برمیگرداند که دارای روش read() برای خواندن محتوای فایل است:
مثال:
f = open("demofile.txt", "r")
print(f.read())
نتیجه:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
🟪 اگر فایل در مسیر دیگری قرار دارد، باید مسیر کامل فایل را مشخص کنیم:
مثال:
f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())
نتیجه:
Welcome to this text file!
This file is located in a folder named "myfiles", on the D drive.
Good Luck!
بنابراین با استفاده از تابع open() و مشخص کردن مسیر فایل، میتوانیم فایلها را در پایتون باز کنیم و محتوای آنها را بخوانیم.
بطور پیشفرض، متد read() تمام متن را برمیگرداند. اما شما همچنین میتوانید تعیین کنید چند کاراکتر را میخواهید برگردانید.
مثال:
این کد، 5 کاراکتر اول فایل را برمیگرداند.
نتیجه :
Hello
مثال:
f = open("demofile.txt", "r")
print(f.read(5))
این کد، 5 کاراکتر اول فایل را برمیگرداند.
نتیجه :
Hello
روش های مختلف خواندن خط به خط یک فایل
💢 مثال اول:
f = open("demofile.txt", "r")
باز کردن فایل با نام demofile.txt برای خواندن
print(f.readline())
خواندن اولین خط فایل و چاپ آن
➡️
Hello! Welcome to demofile.txt
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال دوم:
f = open("demofile.txt", "r")
باز کردن فایل
print(f.readline())
خواندن اولین خط و چاپ
print(f.readline())
خواندن خط بعدی و چاپ آن
➡️
Hello! Welcome to demofile.txt
This file is for testing purposes.
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال سوم:
f = open("demofile.txt", "r")
باز کردن فایل
for x in f:
print(x)
حلقه بر روی خطوط فایل برای خواندن و چاپ تک تک آنها
➡️
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
به طور خلاصه، readline() برای خواندن خط به خط، for loop برای خواندن کل فایل، و open() برای باز کردن فایل استفاده میشود
💢 مثال اول:
f = open("demofile.txt", "r")
باز کردن فایل با نام demofile.txt برای خواندن
print(f.readline())
خواندن اولین خط فایل و چاپ آن
➡️
Hello! Welcome to demofile.txt
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال دوم:
f = open("demofile.txt", "r")
باز کردن فایل
print(f.readline())
خواندن اولین خط و چاپ
print(f.readline())
خواندن خط بعدی و چاپ آن
➡️
Hello! Welcome to demofile.txt
This file is for testing purposes.
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال سوم:
f = open("demofile.txt", "r")
باز کردن فایل
for x in f:
print(x)
حلقه بر روی خطوط فایل برای خواندن و چاپ تک تک آنها
➡️
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
به طور خلاصه، readline() برای خواندن خط به خط، for loop برای خواندن کل فایل، و open() برای باز کردن فایل استفاده میشود
بستن فایل پس از اتمام کار
💢 مثال:
f = open("demofile.txt", "r")
باز کردن فایل برای خواندن
print(f.readline())
خواندن اولین خط
f.close()
بستن فایل پس از اتمام کار
➡️
Hello! Welcome to demofile.txt
〰〰〰〰〰〰
همیشه پس از اتمام کار با یک فایل در پایتون، باید آن را ببندیم. این کار با تابع close() انجام میشود.
دلیل این کار این است که در برخی موارد به دلیل بافرینگ (buffering) تغییرات اعمال شده در فایل تا زمان بسته شدن آن نمایش داده نمیشود.
پس بستن فایل پس از پایان کار یک روش است تا از ذخیره تغییرات اطمینان حاصل شود.
💢 مثال:
f = open("demofile.txt", "r")
باز کردن فایل برای خواندن
print(f.readline())
خواندن اولین خط
f.close()
بستن فایل پس از اتمام کار
➡️
Hello! Welcome to demofile.txt
〰〰〰〰〰〰
همیشه پس از اتمام کار با یک فایل در پایتون، باید آن را ببندیم. این کار با تابع close() انجام میشود.
دلیل این کار این است که در برخی موارد به دلیل بافرینگ (buffering) تغییرات اعمال شده در فایل تا زمان بسته شدن آن نمایش داده نمیشود.
پس بستن فایل پس از پایان کار یک روش است تا از ذخیره تغییرات اطمینان حاصل شود.
نوشتن و اضافه کردن محتوا به یک فایل موجود
برای نوشتن به یک فایل موجود باید پارامتری به تابع open() اضافه کنیم:
"a"
- اضافه کردن به انتهای فایل
"w"
- نوشتن و جایگزینی محتوای فایل
➖➖➖➖➖➖➖➖➖➖➖➖
💢 مثال:
f = open("demofile2.txt", "a")
باز کردن فایل برای اضافه کردن
f.write("Now the file has more content!")
اضافه کردن متن جدید
f.close()
بستن فایل
print(open("demofile2.txt").read())
خواندن محتوای جدید فایل
➡️
Hello! Welcome to demofile2.txt
This file is for testing purposes.
Good Luck!Now the file has more content!
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال دوم:
f = open("demofile3.txt", "w")
باز کردن فایل برای نوشتن و جایگزینی
f.write("Woops! I have deleted the content!")
جایگزینی محتوای قدیمی
f.close()
print(open("demofile3.txt").read())
خواندن محتوای جدید فایل
➡️
Woops! I have deleted the content!
➖➖➖➖➖➖➖➖➖➖➖➖
توجه داشته باشید که متد "w" کل محتوای فایل را جایگزین میکند.
برای نوشتن به یک فایل موجود باید پارامتری به تابع open() اضافه کنیم:
"a"
- اضافه کردن به انتهای فایل
"w"
- نوشتن و جایگزینی محتوای فایل
➖➖➖➖➖➖➖➖➖➖➖➖
💢 مثال:
f = open("demofile2.txt", "a")
باز کردن فایل برای اضافه کردن
f.write("Now the file has more content!")
اضافه کردن متن جدید
f.close()
بستن فایل
print(open("demofile2.txt").read())
خواندن محتوای جدید فایل
➡️
Hello! Welcome to demofile2.txt
This file is for testing purposes.
Good Luck!Now the file has more content!
🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳🕳
💢 مثال دوم:
f = open("demofile3.txt", "w")
باز کردن فایل برای نوشتن و جایگزینی
f.write("Woops! I have deleted the content!")
جایگزینی محتوای قدیمی
f.close()
print(open("demofile3.txt").read())
خواندن محتوای جدید فایل
➡️
Woops! I have deleted the content!
➖➖➖➖➖➖➖➖➖➖➖➖
توجه داشته باشید که متد "w" کل محتوای فایل را جایگزین میکند.
برای ایجاد یک فایل جدید در پایتون، از متد open() استفاده میکنیم و یکی از پارامترهای زیر را به آن میدهیم:
"x"
- ایجاد - این پارامتر یک فایل را ایجاد میکند و در صورت وجود فایل، خطا را برمیگرداند.
"a"
- الحاق - این پارامتر یک فایل را ایجاد میکند اگر فایل مشخص شده وجود نداشته باشد.
"w"
- نوشتن - این پارامتر یک فایل را ایجاد میکند اگر فایل مشخص شده وجود نداشته باشد.
💢 مثال:
برای ایجاد یک فایل به نام "myfile.txt"، از کد زیر استفاده میکنیم:
f = open("myfile.txt", "x")
نتیجه: یک فایل جدید خالی ایجاد میشود!
💢 مثال:
ایجاد یک فایل جدید اگر وجود نداشته باشد:
f = open("myfile.txt", "w")
"x"
- ایجاد - این پارامتر یک فایل را ایجاد میکند و در صورت وجود فایل، خطا را برمیگرداند.
"a"
- الحاق - این پارامتر یک فایل را ایجاد میکند اگر فایل مشخص شده وجود نداشته باشد.
"w"
- نوشتن - این پارامتر یک فایل را ایجاد میکند اگر فایل مشخص شده وجود نداشته باشد.
💢 مثال:
برای ایجاد یک فایل به نام "myfile.txt"، از کد زیر استفاده میکنیم:
f = open("myfile.txt", "x")
نتیجه: یک فایل جدید خالی ایجاد میشود!
💢 مثال:
ایجاد یک فایل جدید اگر وجود نداشته باشد:
f = open("myfile.txt", "w")
🔵 برای حذف فایل یا پوشه باید از ماژول os استفاده کنیم.
برای حذف یک فایل، ابتدا ماژول os را import میکنیم، سپس تابع os.remove() را صدا میزنیم و آدرس فایل مورد نظر را به عنوان پارامتر میدهیم.
مثال:
import os
os.remove("address/to/file.txt")
البته بهتر است قبل از حذف فایل، ابتدا چک کنیم که آیا فایل مورد نظر وجود دارد یا خیر تا از بروز خطا جلوگیری شود:
import os
if os.path.exists("address/to/file.txt"):
os.remove("address/to/file.txt")
else:
print("File does not exist")
🔵 برای حذف یک پوشه نیز از تابع os.rmdir() استفاده میکنیم.
توجه داشته باشید که os.rmdir() فقط پوشههای خالی را حذف میکند:
import os
os.rmdir("address/to/folder")
بنابراین قبل از حذف پوشه باید مطمئن شویم که پوشه خالی است
برای حذف یک فایل، ابتدا ماژول os را import میکنیم، سپس تابع os.remove() را صدا میزنیم و آدرس فایل مورد نظر را به عنوان پارامتر میدهیم.
مثال:
import os
os.remove("address/to/file.txt")
البته بهتر است قبل از حذف فایل، ابتدا چک کنیم که آیا فایل مورد نظر وجود دارد یا خیر تا از بروز خطا جلوگیری شود:
import os
if os.path.exists("address/to/file.txt"):
os.remove("address/to/file.txt")
else:
print("File does not exist")
🔵 برای حذف یک پوشه نیز از تابع os.rmdir() استفاده میکنیم.
توجه داشته باشید که os.rmdir() فقط پوشههای خالی را حذف میکند:
import os
os.rmdir("address/to/folder")
بنابراین قبل از حذف پوشه باید مطمئن شویم که پوشه خالی است