تغییر ایجاد کن

طبقه بندی موضوعی
دوشنبه, ۴ فروردين ۱۳۹۹، ۰۹:۲۲ ب.ظ

مقدمات کار با فایل‌ها در پایتون

این مقدمه « خیلی » مقدمه هست!

 

در برنامه نویسی شما نیاز به داده دارید. اما این داده ها کجا هستند؟ این داده ها ممکنه در

  • کامپیوتر یه آدم دیگه
  • یه فایل توی کامپیوتر شما
  • توی اینترنت 
  • توی یک سیستم مدیریت پایگاه داده (DBMS)

باشه. حالا میخوایم یاد بگیریم که چطور با داده های درون فایل‌ها در پایتون کار کنیم. 

 

مکانیسم اصلی پایتون برای خوندن فایل ها به صورت خطی هست. نه خطی توی ریاضی ! یعنی خط به خط داده ها رو میخوونه. open() یک Built In Function در پایتون هست که به شما اجازه میده یک فایل رو بخوونید. 

 

حالا فرضه کنید که من یه فایل متنی به نام sketch.txt دارم. این فایل توی این مسیر قرار گرفته : 

C:\Program Files\Python38\HeadFirstPython\chapter3

اول از همه باید ماژول os رو فراخوونی کنیم. 

در برنامه نویسی شما نیاز به داده دارید. اما این داده ها کجا هستند؟ این داده ها ممکنه در

  • کامپیوتر یه آدم دیگه
  • یه فایل توی کامپیوتر شما
  • توی اینترنت 
  • توی یک سیستم مدیریت پایگاه داده (DBMS)

باشه. حالا میخوایم یاد بگیریم که چطور با داده های درون فایل‌ها در پایتون کار کنیم. 

 

مکانیسم اصلی پایتون برای خوندن فایل ها به صورت خطی هست. نه خطی توی ریاضی ! یعنی خط به خط داده ها رو میخوونه. open() یک Built In Function در پایتون هست که به شما اجازه میده یک فایل رو بخوونید. 

 

حالا فرضه کنید که من یه فایل متنی به نام sketch.txt دارم. این فایل توی این مسیر قرار گرفته : 

C:\Program Files\Python38\HeadFirstPython\chapter3

اول از همه باید ماژول os رو فراخوونی کنیم. این ماژول این امکان رو بهمون میده که به یه سری امکانات که مربوط به عملکرد سیستم عامله دسترسی داشته باشیم:

 

>>> import os

حالا به مسیری که فایل اونجا هست میرم: 

>>> os.chdir('C:\Program Files\Python38\HeadFirstPython\chapter3')

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

>>> data=open('sketch.txt')

 

همونطور که گفتیم پایتون داده های موجود توی فایل رو خط به خط میخوونه پس اگه چنین کدی رو بنویسید خط اول فایلم رو بهم بر میگردونه : 

 

>>>print(data.readline(),end='')

 

یه بار دیگه این خط رو مینویسم : 

>>> print(data.readline(),end='')

خط دوم رو میخونه. اگه دوباره بنویسم خط سوم رو میخوونه . 

 

حالا اگه بخوام دوباره برم خط اول باید چیکار کنم؟ باید از seek استفاده کنید: 

>>> data.seek(0)

 

حالا اگه بخواین که کل خط ها رو یهو چاپ کنه کافیه که از یه حلقه for استفاده کنید. کد زیر این کار رو براتون انجام میده : 

>>> for each_line in data:   

    print(each_line,end='')

 

 

موافقین ۰ مخالفین ۰ ۹۹/۰۱/۰۴
عارفه ..

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی