دوره ویژه مقدماتی پایتون – Telegram
دوره ویژه مقدماتی پایتون
436 subscribers
248 photos
4 videos
250 links
Download Telegram
تست٩٧:کدام تابع برای دسترسی به فایل استفاده می شود ؟

1️⃣: Open
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(50)
2️⃣: Read
️0%(0)
3️⃣: Wirte
️0%(0)

👥: 50شرکت در نظر سنجی
✍️ باز کردن فایل - (قسمت دوم)

شما می توانید حالت استفاده از یک فایل را با وارد کردن ورودی دوم به تابع open مشخص کنید. "r" به معنی باز کردن فایل و خواندن آن است، که به طور پیش فرض همیشه همین حالت است.
حالت «w» به معنای نوشتن است که برای بازنویسی محتویات یک فایل استفاده می شود.
حالت "a" برای اضافه کردن محتوای جدید به انتهای فایل استفاده می شود.
حالت "b" فایل را به صورت باینری باز می کند، که برای فایل های غیر متن (مانند فایل های تصویر و صدا) استفاده می شود.

# write mode
open("filename.txt", "w")

# read mode
open("filename.txt", "r")
open("filename.txt")

# binary write mode
open("filename.txt", "wb")

📌شما می توانید هر یک از حالت های بالا را با استفاده از علامت + گسترش دهید تا دسترسی بیشتری داشته باشنذ. مثلا +r فایل را هم باز می کند و هم قابلیت نوشتن در آن را می دهد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست٩٨ :جای خالی را با عبارتی پر کنید که فایل به صورت باینری خوانده شود.
file = open("test.bin" ,...... )

1️⃣: "b"
️|||||||||||||||||||||||||||||||||||||||||82%(42)
2️⃣: "rb"
️|||||||||18%(9)
3️⃣: "W"
️0%(0)
4️⃣: "r"
️0%(0)

👥: 51شرکت در نظر سنجی
⚠️⚠️⚠️
حالت های متفاوت استفاده از فایل :

"R"
خواندن از فایل - بله
نوشتن به فایل - NO
ایجاد فایل اگر وجود ندارد - NO
فایل فشرده را به صفر برساند - NO موقعیت مکان نما - شروع
"r +"
خواندن از فایل - بله
نوشتن به فایل - بله
ایجاد فایل اگر وجود ندارد - NO فایل فشرده را به صفر برساند - NO موقعیت مکان نما - شروع
"w"
خواندن از فایل - NO
نوشتن به فایل - بله
ایجاد فایل اگر وجود ندارد - بله
فایل را به صفر برساند - بله
موقعیت مکان نما - شروع
"w +"
خواندن از فایل - بله
نوشتن به فایل - بله
ایجاد فایل اگر وجود ندارد - بله
فایل را به صفر برساند - بله
موقعیت مکان نما - شروع
"a"
خواندن از فایل - NO
نوشتن به فایل - بله
ایجاد فایل اگر وجود ندارد - بله
فایل فشرده را به صفر برساند - NO موقعیت مکان نما - END
"+"
خواندن از فایل - بله
نوشتن به فایل - بله
ایجاد فایل اگر وجود ندارد - بله
فایل فشرده را به صفر برساند - NO موقعیت مکان نما - END

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️ باز کردن فایل (opening files) - (قسمت سوم)

هنگامی که فایل را باز کردید و مورد استفاده قرار دادید، باید آن را ببندید. این کار با متد close انجام می شود.

file = open("filename.txt", "w")
# do stuff to the file
file.close()

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست٩٩:چگونه فایل text_file را ببندیم؟

1️⃣: close("text_file")
️0%(0)
2️⃣: text_file.close()
️|||||||||||||||||||||||||||||||||||||||||||||||||98%(54)
3️⃣: close(text_file)
️|2%(1)

👥: 55شرکت در نظر سنجی
✍️ خواندن فایل ها

محتویات یک فایل که در mode متن باز شده است را می توان با استفاده از متد read خواند.

file = open("filename.txt", "r")
cont = file.read()
print(cont)
file.close()

📌این دستور ، همه ی محتویات فایل "filename.txt" را چاپ می کند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست ١٠٠:
ترتیب کد زیر را به صورتی انتخاب کنید که کد را باز کنید تا یک فایل باز شود، مطالب آن را بخوانید، آنها را چاپ کنید، و سپس فایل را ببندید.

1.file = open("test.txt")
2.print(cont)
3.cont = file.read()
4.file close()

1️⃣: 1,4,3,2
️0%(0)
2️⃣: 2,1,4,3
️0%(0)
3️⃣: 1,3,2,4
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(47)

👥: 47شرکت در نظر سنجی
خواندن فایل ها - (قسمت دوم)

برای خواندن فقط یک مقدار مشخصی از یک فایل، شما می توانید عدد را به عنوان یک استدلال برای تابع خواندن ارائه کنید. این مقدار تعداد بایت هایی را که باید خوانده شود تعیین می کند. شما می توانید برای خواندن در همان شیء فایل، برای خواندن بیشتر از بایت فایل توسط بایت، صدا بزنید. بدون استدلال، خواندن بقیه فایل را بازمی گرداند.

file = open("filename.txt", "r")
print(file.read(16))
print(file.read(4))
print(file.read(4))
print(file.read())
file.close()

📌درست مثل زمانی که هیچ ورودی ای نمی دهیم، ورودی منفی باعث می شود که کل متن را برگرداند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست ١٠١:چند کاراکتر در هر خطی که توسط این کد چاپ می شود، اگر یک کاراکتر یک بایت باشد؟

file = open("filename.txt", "r")
for i in range(21):
print(file.read(4))
file.close()

1️⃣: 2
️0%(0)
2️⃣: 21
️|2%(1)
3️⃣: 4
️|||||||||||||||||||||||||||||||||||||||||||||||||98%(44)
4️⃣: 10
️0%(0)

👥: 45شرکت در نظر سنجی
✍️خواندن فایل ها - (قسمت سوم)

بعد از اینکه تمام محتویات یک فایل خواندید، هر تلاش برای خواندن بیشتر از آن فایل یک رشته خالی را باز می گرداند، زیرا شما در حال تلاش برای خواندن از پایان فایل هستید.

file = open("filename.txt", "r")
file.read()
print("Re-reading")
print(file.read())
print("Finished")
file.close()

Result:
>>>
Re-reading

Finished
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست ١٠٢:جای خالی را، به صورتی که یک فایل را بازکند و آن را بخواند، با عبارت مناسب پر کنید.
file =.......("filename.txt", "r")
str = file..........()
print(len(str))
file.close()

1️⃣: open, read
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(42)
2️⃣: write, open
️0%(0)
3️⃣: read, open
️0%(0)

👥: 42شرکت در نظر سنجی
خواندن فایل ها - (قسمت چهارم)

برای اینکه بتوانیم هر خط فایل را بخوانیم، می توانیم از متد readline استفاده کنیم که یک لیست را برمیگرداند که هر آیتم آن نشان دهنده یک خط در فایل است.

file = open("filename.txt", "r")
print(file.readlines())
file.close()

خروجی:
['line 1 text \n', 'line 2 text \n', 'line 3 text']

💡همچنین می توانید برای این کار از حلقه ی for استفاده کنید:
file = open("filename.txt", "r")

for line in file:
print(line)

file.close()

خروجی :
line 1 text

line 2 text

line 3 text

📌در خروجی، خطوط با خط های خالی از هم جدا میشوند. همان طور که تابع print به صورت اتوماتیک یک خط به انتهای خروجی خود اضافه می کند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ اگر فایل test,txt دارای 7 خط باشد، کد زیر چه چیزی را باز می گرداند؟
len(open("test.txt").readlines())

1️⃣: 7
️|||||||||||||||||||||||||||||||||||||||||||||||||98%(41)
2️⃣: 1
️0%(0)
3️⃣: 0
️|2%(1)
4️⃣: error
️0%(0)

👥: 42شرکت در نظر سنجی
✍️نوشتن فایل ها

برای نوشتن در فایل ها می توانید از متد write استفاده کنید، عبارات به صورت رشته ای در فایل نوشته می شود.

file = open("newfile.txt", "w")
file.write("This has been written to a file")
file.close()

file = open("newfile.txt", "r")
print(file.read())
file.close()

خروجی :
>>>
This has been written to a file
>>>

حالت "w" یک فایل ایجاد می کند، به شرطی که قبلا آن فایل وجود نداشته باشد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست١٠٣:کدام خط باعث نوشتن عبارت "Hello world" در فایل می شود؟

1️⃣: file.write("Hello world!")
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(42)
2️⃣: write(file, "Hello world!")
️0%(0)
3️⃣: write("Hello world!", file)
️0%(0)

👥: 42شرکت در نظر سنجی
✍️نوشتن فایل ها - (قسمت دوم)

هنگامی که یک فایل در حالت نوشتن باز می شود، محتوای موجود در فایل حذف می شود.

file = open("newfile.txt", "r")
print("Reading initial contents")
print(file.read())
print("Finished")
file.close()

file = open("newfile.txt", "w")
file.write("Some new text")
file.close()

file = open("newfile.txt", "r")
print("Reading new contents")
print(file.read())
print("Finished")
file.close()

خروجی :
>>>
Reading initial contents
some initial text
Finished
Reading new contents
Some new text
Finished
>>>
همانطور که می بینید محتوای فایل رونویسی شده است.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست ١٠۴:چه اتفاقی می افتد اگر شما یک فایل را برای نوشتن بازکنید و سپس آن را ببندید؟

1️⃣: یک خط خالی به فایل اضافه می شود
️0%(0)
2️⃣: هیچ چیزی تغییر نمی کند
️0%(0)
3️⃣: محتویات فایل حذف می شود.
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)

👥: 40شرکت در نظر سنجی
✍️نوشتن فایل ها - (قسمت سوم)

در متد Write تعداد بایت های نوشته شده در یک فایل، برگردانده می شود.

msg = "Hello world!"
file = open("newfile.txt", "w")
amount_written = file.write(msg)
print(amount_written)
file.close()

خروجی :
>>>
12
>>>

💡در مثال تعداد بایت های "Hello world" شمرده شده و درخروجی چاپ شده است.

📌اگر بخواهید چیزی غیر از رشته در فایل بنویسید باید اول آن را تبدیل به رشته کنید.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
تست ١٠۵:در کدام از کد های زیر خروجی به ما طول رشته را می دهد؟

1️⃣: file.write(msg) == True
️0%(0)
2️⃣: file.write(msg) == len(msg)
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(39)
3️⃣: file.write(msg) == msg
️0%(0)

👥: 39شرکت در نظر سنجی
✍️کار با فایل ها

این روش برای جلوگیری از هدر دادن منابع خوب است، برای اینکه اطمینان حاصل کنیم که فایل ها همیشه پس از استفاده از آنها بسته شده اند. یکی از راه های انجام این کار استفاده از "try" و "finally " استفاده کنید.

try:
f = open("filename.txt")
print(f.read())
finally:
f.close()

📌این کار تضمین می کند که فایل همیشه بسته است، حتی اگر یک خطا رخ دهد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge