کار با فایل در پایتون (در سه سوت) + جدول راهنما
میدونید رایج ترین روش کار با فایل درپایتون کدومه؟ اینکه چجور بتونیم فایلهای خودمون رو به پروژه اضافه کنیم و روی اونها تغییراتی انجام بدیم؟ در این مقاله قصد دارم آموزش کامل کار با فایل در پایتون رو بهتون بگم و بهتون قول میدم اگه قدم به قدم در این مقاله همراه من باشید به تسلط خیلی خوبی خواهید رسید.
کار با فایل در پایتون یکی از بخشهای مهم پایتون محسوب میشه؛مدیریت فایلها به ما کمک میکنه که اطلاعاتی که در یک فایل وجود داره توسط پروژه خونده بشه یا اینکه اطلاعتی را درون یک فایل بنویسیم و یا سایر مواردی که مربوط به فایل هست رو انجام بدیم؛ پس با من همراه باشید تا آموزش کار با فایل در پایتون رو شروع کنیم…
شروع کار با فایل در پایتون
قبل از انجام هرگونه عملیاتی روی فایل، ابتدا باید اون فایل رو به پروژه اضافه کنیم یا به اصلاح آن فایل را باز کنیم.
برای باز کردن فایل در پایتون از تابع open استفاده میکنیم.
تابع open؛ 2 پارامتر میگیره، پارامتر اول نام فایل هست و پارامتر دوم حالت باز شدن فایل هست؛ در ادامه این موضوع درباره حالتهای باز شدن یک فایل بیشتر صحبت میکنیم.
x = open( FileName , Mode )
انواع حالت های باز شدن یک فایل
حالتهای یک فایل مشخص میکنه که ما اون فایل رو به چه صورت قراره استفاده کنیم و انتخاب یک حالت درست برای خروجی تاثیر زیادی داره در ادامه به معرفی حالتها میپردازیم و به شما خواهم گفت تاثیرات هر حالت چیست…
1 – حالت Read در کار با فایل در پایتون
حالت Read فایل را در حالت خواندن باز میکنه و به ما این امکان رو میده که اطلاعات درون فایل رو بخونیم، برای استفاده از حالت Read باید از r که مخفف اونه استفاده کنیم؛ در ادامه با مثالی بهتون نشون میدم چگونه هنگام کار با فایل در پایتون از قابلیت Read استفاده کنید:
x = open('sabzlearn.txt', 'r') print (x.read(36))
در کد بالا ابتدا با کمک تابع open فایل خودمون رو که به نام sabzlearn.txt به پروژه اضافه کردیم و از r برای باز کردن فایل در حالت Read کمک گرفتیم، در ادامه کد، به کمک Read یک پرینت از اطلاعات درون فایل خودمون گرفتیم؛ عدد 36 که در پرانتز قرار دادیم، نشونه اینه که 36 کاراکتر نمایش داده بشه و مابقی آن نمایش داده نمیشه.
حالت Read یک نوع دیگر دارد که در ادامه به آن میپردازیم…
حالت + Read در کار با فایل در پایتون
حالت +Read فایل را در حالت خواندن و نوشتن باز میکنه؛ علاوه بر اینکه قابلیت این رو به ما میده که اطلاعات فایل رو بخونیم به ما نیز این اجازه رو میده که در ابتدای فایل چیزی بنویسیم و به اطلاعات آن فایل اضافه کنیم، برای استفاده از این حالت از +r استفاده میشه؛ در ادامه نمونه کد این حالت رو به شما نشون میدم…
فرض کنید فایلی که داریم حاوی اطلاعات زیر هست:
welcome to python 1 welcome to python 2 welcome to python 3 welcome to python 4
حالا با کد زیر اون رو به پروژه اضافه میکنیم و آن را در حالت +r باز میکنیم:
with open("sabzlearn.txt", 'r+') as f: f.write("new line \n")
به کمک دستور With فایل را باز میکنیم و میگیم که f به عنوان مرجع ماست؛ اگر با دستور with و دیگر دستورات پایتون آشنایی ندارید و دوست دارید بصورت کاملا رایگان پایتون رو یاد بگیرید میتوانید در دوره آموزش صفر تا صد پایتون سبزلرن شرکت کنید و تخصص خودتون رو در این زبان بالا ببرید.
در ادامه از دستور write برای اضافه کردن نوشته جدید به ابتدای فایل استفاده کردیم و از دستور /n استفاده کردیم تا یک enter زده بشه و بره خط بعد.
فایل اصلی ما پس از اعمال کد بصورت زیر خواهد بود:
new line python 1 welcome to python 2 welcome to python 3 welcome to python 4
حالا فرض کنیم نخواییم در ابتدای فایلمون چیزی نوشته بشه و اطلاعات فقط به آخر فایل اضافه بشه، باید چیکار کنیم؟ با استفاده از دستور f.read نشانهگر موس به انتهای فایل رفته و نوشتن از انتهای فایل موجود شروع میشه.
در ادامه نمونهای رو خواهیم دید:
with open("sabzlearn.txt", 'r+') as f: f.read() f.write("new line \n")
خروجی به صورت زیر خواهد بود:
welcome to python 1 welcome to python 2 welcome to python 3 welcome to python 4 new line
2 – حالت Write در کار با فایل در پایتون
حالت write فایل را در حالت نوشتن باز میکنه و به ما این امکان رو میده که اطلاعاتی را درون فایل بنویسیم، برای استفاده از حالت write باید از w که مخفف اونه استفاده کنیم؛ در ادامه با مثالی بهتون نشون میدم چگونه هنگام کار با فایل در پایتون از قابلیت write استفاده کنید:
x = open("sabzlearn.txt", 'w') x.write("Working with files in Python") x.write("Learn it in Sabzlearn") x.close()
پس از باز کردن فایل خودمون با حالت w با کمک دستور x.write اطلاعات خودمون رو به فایل اضافه میکنیم و در ادامه با استفاده از دستورclose فایلی که پروژه اضافه کردیم بسته میشه و عملیات به پایان میرسه؛ در انتهای تمام عملیات های کار با فایل در پایتون باید از دستور close استفاده کنیم.
خروجی کد بالا بصورت زیر است:
Working with files in Python Learn it in Sabzlearn
یک نکته مهم: اگر فایل از قبل حاوی اطلاعاتی بوده؛ اطلاعات اون حذف میشه و با اطلاعات جدید جایگزین میشه.
حالت + write در کار با فایل در پایتون
حالت +write فایل را در حالت نوشتن و خواندن باز میکنه، علاوه بر اینکه قابلیت این رو به ما میده که اطلاعات را در فایل بنویسیم به ما نیز این اجازه رو میده که اطلاعات فایل رو بخونیم و به اطلاعات آن فایل اضافه کنیم، برای استفاده از این حالت از +w استفاده میشه؛ در ادامه نمونه کد این حالت رو به شما نشون میدم…
فرض کنید فایلی که داریم حاوی اطلاعات زیر هست:
with open("sabzlearn.txt", 'w+') as f: # create a new file or truncates it f.write("test 1\n") f.write("test 2\n") f.write("test 3\n") # now the file pointer is at the end f.seek(0) # move the file pointer to the beginning lines = f.read() # read it, now we can read! print(lines) # print it
خروجی کد بالا بصورت زیر خواهد بود:
test 1 test 2 test 3
3 – حالت append در کار با فایل در پایتون
حالت append فایل را در حالت اضافه کردن باز میکنه و به ما این امکان رو میده که اطلاعاتی را درون فایلی که داریم اضافه کنیم، برای استفاده از حالت append باید از a که مخفف اونه استفاده کنیم؛ این حالت برعکس حالت w باعث حذف اطلاعات قبلی نمیشه و در انتهای اطلاعات اون فایل نوشته میشه؛ در ادامه با مثالی بهتون نشون میدم چگونه هنگام کار با فایل در پایتون از قابلیت append استفاده کنید.
خب در ابتدا محتویات فایل sabzlearn.txt رو در زیر میبینیم:
Working with files in Python Learn it in Sabzlearn
حالا با استفاده از حالت a متنی به فایل sabzlearn.txt اضافه میکنیم.
x = open("sabzlearn.txt", 'a') x.write("This text will be added to the file ") x.close()
خروجی کد بالا بصورت زیر خواهد بود:
Working with files in Python Learn it in Sabzlearn This text will be added to the file
همونطور که دیدید متن به انتهای فایل ما اضافه شد و متن اصلی ما از بین نرفت؛ در ادامه با نوع دوم append آشنا خواهیم شد.
حالت + append در کار با فایل در پایتون
حالت +append فایل را در حالت اضافه کردن و خواندن باز میکنه، علاوه بر اینکه قابلیت این رو به ما میده که اطلاعات فایل رو بخونیم به ما نیز این اجازه رو میده که اطلاعات را در فایل اضافه کنیم؛ برای استفاده از این حالت از +a استفاده میشه؛ در ادامه نمونه کد این حالت رو به شما نشون میدم…
فایل ما با نام sabzlearn.txt حاوی اطلاعات زیر است:
welcome to python 1 welcome to python 2 welcome to python 3 welcome to python 4
حال میخواییم یکسری عملیات روی اون انجام بدیم؛ ابتدا فایل بصورت +a باز بشه، در ادامه نشانهگر موس به اول فایل بره و تعداد خطوط رو از اول تا آخر بشماره؛ در ادامه نشانهگر موس به آخر فایل بره و تعداد خطوط رو به فایلمون اضافه کنه.
کد توضیحات بالا بصورت زیر خواهد بود:
with open("sabzlearn.txt", 'a+') as f: f.seek(0) # file pointer at end, move to beginning lines = f.readlines() # read all and file pointer at end again f.write("\n" + str(len(lines))) # append number of lines to a file
در خط اول فایل با حالت +a باز شد.
در خط دوم نشانهگر موس به ابتدای فایل اومد.
در خط سوم تمام خطوط خونده شد و نشانهگر به آخر فایل اومد.
در خط چهارم از تعداد خطوط پرینیت گرفتیم.
خروجی کد بالا بصورت زیر خواهد بود:
welcome to python 1 welcome to python 2 welcome to python 3 welcome to python 4 4
مقایسه حالتهای مختلف کار با فایل در پایتون
در این بخش برای شما جمعبندی کاملی از قابلیتهای حالتهای مختلف کار با فایل در پایتون رو قرار دادم تا درک کامل و جامعی داشته باشید و به عنوان راهنما از آن استفاده کنید.
به شما تبریک میگم که تا این مرحله همراه من بودید و مباحث مربوط به کار با فایل در پایتون رو به خوبی یاد گرفتید، خب الان که به این نقطه رسیدید، سوالی پیش میاد و اونم اینکه چطور میتونم حرفهایتر بشم؟ در ادامه این مقاله همراه من باشید تا به شما بگم…
چطور میتونم در این زمینه حرفهایتر بشم؟
با خوندن مقالات مختلف احتمالا بتونید تا حدی به بخشهای مختلف پایتون مسلط بشید اما قطعا بیبرنامه بودن و اصولی نبودن مسیر یادگیری باعث میشه شما نسبت به زبان برنامه نویسی پایتون دلسرد بشید یا اینکه اون رو بصورت کامل یاد نگیرید؛ اما نگران این موضوع نباشید، تیم سبزلرن برای شما آموزش صفر تا صد پایتون رو بصورت کاملا رایگان قرار داده تا بتونید بصورت اصولی و حرفهای در زبان پایتون متخصص بشید. اما این همه ماجرا نیست!! این دوره علاوه بر رایگان بودنش، دارای پشتیبانی انلاین نیز هست و هرجا به هر مشکلی برخوردید، افراد متخصص در این زبان آماده پاسخگویی به اشکالات و سوالات شما هستند، چی بهتر از این؟ پس فرصت رو از دست ندید و همین الان در این دوره شرکت کنید و بصورت تخصصی یادگیری خودتون رو شروع کنید.
نظری برای این مقاله ثبت نشده است