خواندن محتویات فایل

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

خواندن فایل در پایتون

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

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

نکته:این همه محتویات فایل "filename.txt" را چاپ می کند. برای خواندن فقط یک مقدار مشخصی از یک فایل، می توانید یک عدد را به عنوان یک استدلال برای تابع خواندن ارائه کنید. این مقدار تعداد بایت هایی را که باید خوانده شوند، تعیین می کند. شما می توانید برای خواندن بخش های بیشتر از یک فایل تابع read را به مقدار و تعداد نیاز صدا زنید. تابع read بدون هیچ آرگومانی تمام محتویات فایل را خواهد خواند.

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

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

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

خروجی:

>>>
Re-reading

Finished
>>>

برای بازیابی هر خط در یک فایل، می توانید از روش readlines برای بازگشت یک لیست که در آن هر عنصر یک خط در فایل است، استفاده کنید. مثلا:

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

خروجی:

>>>
['Line 1 text \n', 'Line 2 text \n', 'Line 3 text']
>>>

شما می توانید از یک حلقه برای تکرار از طریق خطوط در فایل استفاده کنید:

file = open("filename.txt", "r")

for line in file:
    print(line)

file.close()

خروجی:

>>>
Line 1 text

Line 2 text

Line 3 text
>>>

نکته:در خروجی، خطوط با خط خالی جدا می شوند، به عنوان تابع چاپ به طور خودکار یک خط جدید را در انتهای خروجی آن اضافه می کند.

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
captcha
4دیدگاه
  • Hannane
    1 month, 1 week ago

    سلام من قسمت آخر یعنی lon و lat رو متوجه نشدم . یک مرجع مناسب برای مطالعه ش میتونید پیشنهاد بدید.

    • علی بیگدلی
      1 month, 1 week ago

      latitude longitude مرجع خاصی برای مطالعه نیاز نداره بلکه علایم اختصاری مختصات جغرافیایی هستن و هر روز با انواع اپلیکیشن هایی که استفاده می کنید داره استفاده میشه

  • Mahdi Vafaei
    2 months, 2 weeks ago

    file = open("D:\hello.docx","r")
    cont = file.read()
    print(cont)
    file.close()
    سلام
    من هرچی کد بالا رو انجام میدم ارور
    Traceback (most recent call last):
    File "D:/Programing/Pyton/Training/test.py", line 2, in <module>
    cont = file.read()
    File "C:\Users\Mahdi\AppData\Local\Programs\Python\Python36\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 637: character maps to <undefined>
    میده لطفا راهنمایی کنید

    • علی بیگدلی
      2 months, 2 weeks ago

      کدک فایلی که دارید می خونید با default خود read متفاوته کافیه آپشن
      encode="utf8"
      رو بهش اضافه کنین