وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

ذخیره متن، JSON و CSV در یک فایل در پایتون

0 8
زمان لازم برای مطالعه: 5 دقیقه


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

به طور کلی، برنامه ها مقداری ورودی می گیرند و مقداری خروجی تولید می کنند. موارد متعددی وجود دارد که ما می خواهیم این نتایج را حفظ کنیم. ممکن است متوجه شویم که داده‌ها را در یک فایل برای پردازش بعدی ذخیره می‌کنیم – از صفحات وب که مرور می‌کنیم، داده‌های ساده جدولی که برای گزارش‌ها، یادگیری ماشینی و آموزش یا ثبت‌نام در طول زمان اجرای برنامه استفاده می‌کنیم – ما متکی هستیم. روی برنامه ها به جای انجام دستی روی فایل ها می نویسند.

پایتون به ما این امکان را می دهد که فایل های مختلف را بدون نیاز به استفاده از کتابخانه های شخص ثالث ذخیره کنیم. در این مقاله، ما به ذخیره رایج ترین فرمت های فایل در پایتون می پردازیم.

باز کردن و بستن یک فایل

باز کردن یک فایل

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

باز کردن یک فایل در پایتون ساده است:

my_data_file = open('data.txt', 'w')

هنگام باز کردن یک فایل، به نام فایل نیاز دارید – رشته ای که می تواند یک مسیر نسبی یا مطلق باشد. آرگومان دوم حالت است، که اقداماتی را که می‌توانید با فایل باز انجام دهید مشخص می‌کند.

در اینجا برخی از موارد رایج استفاده می شود:

  • r – (حالت پیش فرض) فایل را برای خواندن باز کنید
  • w – فایل را برای نوشتن باز کنید، اگر فایل از قبل با داده وجود داشته باشد، محتوا را بازنویسی کنید
  • x – یک فایل جدید ایجاد می کند، در صورت وجود ناموفق
  • a – فایل را برای نوشتن باز کنید و در صورت وجود داده های جدید در انتهای محتویات فایل اضافه کنید
  • b – به جای داده های متنی پیش فرض، داده های باینری را در فایل ها بنویسید
  • + – اجازه دادن به خواندن و نوشتن در یک حالت

فرض کنید می خواستید روی یک فایل بنویسید و سپس آن را بخوانید، حالت شما باید ‘w+’ باشد. اگر می‌خواهید بدون حذف محتوای قبلی، بنویسید و سپس از روی یک فایل بخوانید، از «a+» استفاده می‌کنید.

بستن یک فایل

بستن یک فایل در پایتون حتی ساده تر است:

my_data_file.close()

شما به سادگی باید روش بسته را فراخوانی کنید روی شی فایل بستن فایل پس از پایان استفاده از آن بسیار مهم است و دلایل خوبی برای این کار وجود دارد:

  • فایل های باز فضای رم را اشغال می کنند
  • احتمال خراب شدن داده ها را کاهش می دهد زیرا دیگر در دسترس نیست
  • محدودیت فایل‌هایی وجود دارد که سیستم عامل شما می‌تواند باز کند
پیشنهاد می‌کنیم بخوانید:  مرتب‌سازی هیپ در جاوا اسکریپت در این راهنما، مرتب‌سازی هیپ را بررسی می‌کنیم - نظریه پشت آن و روش پیاده‌سازی مرتب‌سازی هیپ در جاوا اسکریپت. ما با ساختار داده ای که بر اساس آن است شروع خواهیم کرد روی (پیش‌گویی عظیم در اینجا: این یک پشته است!)، روش انجام عملیات روی آن ساختار داده و روش آن داده ها...

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

استفاده از کلمه کلیدی “با”.

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

برای انجام این کار، ما به سادگی نیاز به استفاده از with کلمه کلیدی:

with open('data.txt', 'w') as my_data_file:
    

فایل برای همه کدهایی که پس از استفاده از تورفتگی باز می شود with کلمه کلیدی، علامت گذاری شده به عنوان # TODO اظهار نظر. پس از تکمیل بلوک کد، فایل به طور خودکار بسته می شود.

این روش توصیه شده برای باز کردن و نوشتن یک فایل است زیرا برای آزاد کردن منابع لازم نیست آن را به صورت دستی ببندید و یک مکانیسم ایمن برای حفظ ذهن شما ارائه می دهد. روی جنبه های مهم برنامه نویسی

ذخیره یک فایل متنی

اکنون که بهترین راه برای دسترسی به یک فایل را می دانیم، بیایید مستقیماً به نوشتن داده ها بپردازیم.

خوشبختانه، پایتون این را نیز ساده می کند:

with open('do_re_mi.txt', 'w') as f:
    f.write('Doe, a deer, a female deer\n')
    f.write('Ray, a drop of golden sun\n')

را write() تابع یک رشته می گیرد و آن محتوا را در جریان فایل قرار می دهد. اگرچه ما آن را ذخیره نمی کنیم، write() تابع تعداد کاراکترهایی را که وارد کرده است، یعنی طول رشته ورودی را برمی گرداند.

توجه داشته باشید: به گنجاندن کاراکتر خط جدید توجه کنید، \n. برای نوشتن در خط بعدی در فایل استفاده می شود، در غیر این صورت، تمام متن به صورت یک خط اضافه می شود.

ذخیره چندین خط در یک زمان

با write() تابع ما می توانیم یک رشته را برداریم و آن را در یک فایل قرار دهیم. اگر بخواهیم چند خط را همزمان بنویسیم چه؟

ما می توانیم استفاده کنیم writelines() تابعی برای قرار دادن داده ها در یک دنباله (مانند یک لیست یا تاپل) و در یک فایل:

with open('browsers.txt', 'w') as f:
    web_browsers = ('Firefox\n', 'Chrome\n', 'Edge\n')
    f.writelines(web_browsers)

مانند قبل، اگر بخواهیم داده ها در خطوط جدید ظاهر شوند، کاراکتر newline را در انتهای هر رشته قرار می دهیم.

اگر می‌خواهید از مرحله وارد کردن دستی کاراکتر خط جدید بعد از هر مورد در لیست صرفنظر کنید، خودکار کردن آن آسان است:

with open('browsers.txt', 'w') as f:
    web_browsers = ('Firefox\n', 'Chrome\n', 'Edge\n')
    f.writelines("%s\n" % line for line in web_browsers)

توجه داشته باشید: ورودی برای writelines() باید دنباله ای مسطح از رشته ها یا بایت ها باشد – هیچ عدد، شی یا دنباله تودرتو مانند لیستی در یک لیست مجاز نیست.

پیشنهاد می‌کنیم بخوانید:  append() vs extend() vs insert() در لیست های پایتون

اگر علاقه مند به خواندن بیشتر در مورد لیست ها و تاپل ها هستید، ما قبلاً مقاله ای به آنها اختصاص داده ایم – Lists vs Tuples در پایتون.

ذخیره یک فایل CSV

CSV فایل های (مقادیر جدا شده با کاما) معمولاً برای ذخیره داده های جدولی استفاده می شوند. پایتون به دلیل محبوبیتش، روش‌های داخلی دارد تا نوشتن فایل‌هایی از این نوع را آسان‌تر کند:

import csv

weekdays = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
sales = ('10', '8', '19', '12', '25')

with open('sales.csv', 'w') as csv_file:
    csv_writer = csv.writer(csv_file, delimiter=',')
    csv_writer.writerow(weekdays)
    csv_writer.writerow(sales)

ما ابتدا نیاز داریم import را csv کتابخانه برای دریافت توابع کمکی خود. ما فایل را همانطور که عادت کرده ایم باز می کنیم اما به جای نوشتن محتوا روی را csv_file شی، یک شی جدید به نام ایجاد می کنیم csv_writer.

این شیء در اختیار ما قرار می دهد writerow() روشی که به ما امکان می دهد تمام داده های ردیف را یکجا در فایل قرار دهیم.

اگر می‌خواهید درباره استفاده از فایل‌های CSV در پایتون با جزئیات بیشتر بدانید، می‌توانید در اینجا بیشتر بخوانید: خواندن و نوشتن فایل‌های CSV در پایتون.

ذخیره یک فایل JSON

JSON یکی دیگر از فرمت های محبوب برای ذخیره سازی داده ها است، و درست مانند CSV ها، پایتون نوشتن داده های فرهنگ لغت خود را در فایل های JSON ساده کرده است:

import json

my_details = {
    'name': 'John Doe',
    'age': 29
}

with open('personal.json', 'w') as json_file:
    json.dump(my_details, json_file)

ما نیاز داریم import را json کتابخانه و فایل را باز کنید. برای نوشتن داده‌ها در فایل، فقط با را فراخوانی می‌کنیم dump() تابع، فرهنگ لغت داده ما و شی فایل را به آن می دهد.

اگر می‌خواهید درباره استفاده از فایل‌های JSON در پایتون بیشتر بدانید، می‌توانید از این مقاله بیشتر بدانید: خواندن و نوشتن JSON در یک فایل در پایتون.

نتیجه

ذخیره فایل ها می تواند در بسیاری از برنامه هایی که می نویسیم مفید باشد. برای نوشتن یک فایل در پایتون، ابتدا باید فایل را باز کنیم و مطمئن شویم که بعداً آن را می بندیم.

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

ما می توانیم استفاده کنیم write() روشی برای قرار دادن محتویات یک رشته در یک فایل یا استفاده writelines() اگر دنباله ای از متن برای قرار دادن در فایل داشته باشیم.

برای داده‌های CSV و JSON، می‌توانیم از توابع ویژه‌ای که پایتون ارائه می‌کند برای نوشتن داده‌ها در یک فایل پس از باز شدن فایل استفاده کنیم.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-26 02:19:07

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید