خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه خواندن و نوشتن فایل ها در یک برنامه JES

با این راهنمای گام به گام، نحوه بارگیری و ذخیره داده ها را مستقیماً از برنامه JES خود بیاموزید.

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

همچنین می‌توانید کارهای دیگری مانند خواندن یا نوشتن روی فایل‌ها را در JES انجام دهید. می‌توانید داده‌ها را از انواع فایل‌های مختلف، از جمله فایل‌های متنی و فایل‌های CSV بخوانید.

نحوه خواندن از یک فایل با استفاده از JES

می توانید کد منبع کامل این نمونه ها را از مخزن GitHub مشاهده و دانلود کنید.

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

اگر از یک فایل متنی مطالعه می کنید، می توانید هر خط از فایل را جداگانه به عنوان عنصری در یک آرایه ذخیره کنید. اگر از یک فایل CSV می خوانید، می توانید مقدار هر سلول را نیز جداگانه ذخیره کنید.

  1. نرم افزار JES را در رایانه خود باز کنید. در پنجره برنامه نویسی، یک تابع جدید ایجاد کنید: def readFromFile():
  2. از تابع pickAFile() برای درخواست از کاربر برای انتخاب فایل استفاده کنید. می توانید به راحتی برای توابع JES داخلی راهنمایی پیدا کنید تا در مورد آنها بیشتر بدانید. file = pickAFile()
  3. فایل را اعتبارسنجی کنید تا مطمئن شوید کاربر فقط یک فایل TXT یا CSV را انتخاب کرده است: اگر file.endswith(.txt”) نیست و file.endswith(“.csv”):  print(“خطا: فقط txt. و .csv. فایل‌ها پشتیبانی می‌شوند.”)   return
  4. فایل انتخاب شده را با استفاده از تابع open() باز کنید. پارامتر اول فایلی است که از آن می خوانید. پارامتر دوم حالت مورد استفاده برای باز کردن فایل را مشخص می کند. به عنوان مثال، “rt” به معنای “خواندن فایل” است. OpenFile = باز (پرونده، “rt”)
  5. در حالی که فایل باز است، تمام محتوای آن را بخوانید. محتوای فایل را در یک متغیر ذخیره کنید: allContent = openFile.read()

def readFromFile():

file = pickAFile()

if not file.endswith(".txt") and not file.endswith(".csv"):
  print("Error: Only .txt and .csv files are supported.")
  return

openedFile = open(file, "rt")

allContent = openedFile.read()

  1. فایل را ببندید: openFile.close()
  2. متغیر “allContent” حاوی یک رشته است که تمام محتوای داخل فایل را در خود جای می دهد. یک کاراکتر خط جدید (\n) هر خط را در فایل جدا می کند. اگر می‌خواهید به هر خط به صورت جداگانه دسترسی داشته باشید، رشته را تقسیم کنید و هر خط را به عنوان عنصری در یک آرایه ذخیره کنید: if file.endswith(.txt”):  rows = allContent.split(“\n”)   print(ردیف‌ها)
  3. اگر از یک فایل CSV می خوانید، می توانید هر خط را بیشتر جدا کنید تا مقدار هر سلول جداگانه را دریافت کنید. برای هر ردیف در فایل CSV، مقادیر را با استفاده از کاما جدا کنید و مقادیر را در یک آرایه دوتایی ذخیره کنید. ساختار آرایه شبیه به این خواهد بود: [[1،2،3]، [4،5،6]، [7،8،9]]. if file.endswith(“.csv”):   rows = allContent.split(“\n”)  csvData = []  برای ردیف در ردیف‌ها:    if (ردیف != ”):      cells = row.split(“) csvData.append([float(cell) for cell incells])   print (csvData)
  4. برای آزمایش برنامه، یک فایل متنی جدید به نام sample.txt ایجاد کنید و آن را با مقداری متن پر کنید: این شروع فایل است این خط دیگری است این خط سوم است این پایان فایل است.
  5. همچنین یک فایل CSV ایجاد کنید، نام آن را numbers.csv بگذارید و آن را با مقداری داده پر کنید:
  6. در رابط JES، روی دکمه Load Program که بین پنجره برنامه نویسی و خط فرمان قرار دارد کلیک کنید:
  7. تابع readFromFile() را در خط فرمان اجرا کنید: readFromFile()
  8. با استفاده از دستور فایل، به جایی که فایل sample.txt خود را ذخیره کرده اید بروید. فایل را برای باز کردن آن انتخاب کنید و محتوای چاپ شده در کنسول را مشاهده کنید:
  9. تابع readFromFile() را دوباره در خط فرمان اجرا کنید. فایل numbers.csv را انتخاب کنید تا محتویات چاپ شده در کنسول را با هر سلول جدا و ذخیره شده در آرایه مشاهده کنید:

openedFile.close()

if file.endswith(".txt"):
  rows = allContent.split("\n")
  print(rows)

if file.endswith(".csv"):
  rows = allContent.split("\n")
  csvData = []

  for row in rows:
    if (row != ''):
      cells = row.split(",")
      csvData.append([float(cell) for cell in cells])

  print(csvData)

This is the start of the file
This is another line
This is the third line
This is the end of the file

نمونه ای از فایل CSV با دادهدکمه برنامه بارگذاری در JES

readFromFile()

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

نحوه نوشتن روی یک فایل با استفاده از JES

می توانید با استفاده از تابع write() روی یک فایل CSV یا متنی بنویسید. شما می توانید فایل را برای افزودن یا نوشتن باز کنید. افزودن به محتوای موجود اضافه می‌شود، در حالی که نوشتن، محتوای موجود در فایل را بازنویسی می‌کند.

مطلب مرتبط:   نحوه ایجاد پاور آپ و کلکسیون در Pygame

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

  1. یک تابع جدید به نام writeToFile(): def writeToFile():
  2. از تابع pickAFile() برای درخواست از کاربر برای انتخاب یک فایل استفاده کنید: file = pickAFile()
  3. فایل را برای الحاق باز کنید: openFile = open (پرونده، “در”)
  4. همچنین، اگر می‌خواهید تمام محتویات فایل را بازنویسی کنید، به جای آن، “w” را به عنوان آرگومان دوم وارد کنید: openFile = open(file, “w”)
  5. در فایل بنویسید برای اضافه کردن چندین خط، از “\n” برای جدا کردن محتوا به خطوط استفاده کنید، یا دوباره از تابع write() استفاده کنید: if file.endswith(.txt”):  openedFile.write(“\nTesting”)  openedFile.write (“\nTesting1\nTesting2”)   openedFile.write (“\nTesting3”)

def writeToFile():

file = pickAFile()

openedFile = open(file, "at")

openedFile = open(file, "w")

if file.endswith(".txt"):
  openedFile.write("\nTesting")
  openedFile.write("\nTesting1\nTesting2")
  openedFile.write("\nTesting3")

  1. برای نوشتن در یک فایل CSV، با استفاده از تابع write() تمام داده‌ها را برای یک ردیف بنویسید و مقادیر هر سلول را با استفاده از کاما جدا کنید: if file.endswith(.csv”):   openedFile.write(“\n12 ,34,56”)
  2. فایل را پس از نوشتن روی آن ببندید: File.close()print (“نوشتن در فایل با موفقیت”) باز شد.
  3. روی دکمه Load Program که بین پنجره برنامه نویسی و خط فرمان قرار دارد کلیک کنید.
  4. تابع writeToFile() را در خط فرمان اجرا کنید: writeToFile()
  5. با استفاده از اعلان فایل، فایل “sample.txt” را انتخاب کنید. وقتی JES نوشتن روی فایل را تمام کرد، “sample.txt” را باز کنید تا خطوط جدید اضافه شده به انتهای فایل را مشاهده کنید:
  6. تابع writeToFile() را در خط فرمان دوباره اجرا کنید. فایل “numbers.csv” را باز کنید تا مقادیر سلول های جدید اضافه شده به انتهای فایل را مشاهده کنید.

if file.endswith(".csv"):
  openedFile.write("\n12,34,56")

openedFile.close()
print("Wrote to file successfully")

writeToFile()

نتیجه را در فایل متنی بنویسیدنتیجه فایل CSV را بنویسید

خواندن و نوشتن داده های فایل با JES

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

مطلب مرتبط:   نحوه استفاده از دسکتاپ GitHub در مک

راه‌های دیگری را که می‌توانید با استفاده از پایتون روی فایل‌ها بخوانید یا بنویسید، کاوش کنید. نمونه هایی از این مورد شامل استفاده از ماژول هایی مانند Pandas یا Openpyxl است.