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

سرور مجازی NVMe

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

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


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

فرض کنید یک فایل به نام داریم helloworld.txt حاوی متن “سلام دنیا!” و در فهرست کاری فعلی ما قرار دارد روی یک سیستم فایل یونیکس:

$ cat ./helloworld.txt
Hello world!

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

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

f = open("./helloworld.txt", "a")

متغیر f اکنون مرجعی به یک شی فایل دارد که می توانیم از آن برای نوشتن تا انتهای فایل استفاده کنیم. اگر فایل قبلاً وجود نداشته باشد، ایجاد خواهد شد. توجه داشته باشید که آرگومان دوم “a” حالتی را برای باز کردن فایل، در این مورد حالت “Append” مشخص می کند. با این کار موقعیت نوشتن در انتهای فایل تنظیم می شود.

اگر از “w” (حالت نوشتن) استفاده کرده بودیم، هر چیزی که در فایل بنویسیم از همان ابتدا شروع می شود و محتوای موجود را بازنویسی می کند.

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

f.write("\nIt's good to have been born!")

f.close()

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

پس از اینکه فایل را به آن اضافه می کنیم، در اینجا به نظر می رسد:

$ cat ./helloworld.txt
Hello world!
It's good to have been born!

یک نکته پایانی این است که اگر یک “+” را به آرگومان حالت اضافه کنیم open روش، ما می توانیم فایل را برای هر دو ضمیمه باز کنیم و خواندن این کار هم خواندن و هم نوشتن روی فایل را امکان پذیر می کند. بدون “+” an IOError اگر بخواهیم از فایل بخوانیم استثنا رخ خواهد داد. به‌طور پیش‌فرض، خواندن و نوشتن در انتهای فایل اتفاق می‌افتد، اما می‌توان هر زمان که بخواهید با استفاده از آن، آن را تغییر دهید seek روش.

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

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

f = open("./helloworld.txt", "a+")
f.write("I am grateful.")
f.flush() 
f.seek(0)
content = f.read()
print content
f.close()

و فایل نهایی به این صورت است:

$ cat ./helloworld.txt
Hello world!
It's good to have been born!
I am grateful.

درباره نویسنده

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

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

فرض کنید یک فایل به نام داریم helloworld.txt حاوی متن “سلام دنیا!” و در فهرست کاری فعلی ما قرار دارد روی یک سیستم فایل یونیکس:

$ cat ./helloworld.txt
Hello world!

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

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

f = open("./helloworld.txt", "a")

متغیر f اکنون مرجعی به یک شی فایل دارد که می توانیم از آن برای نوشتن تا انتهای فایل استفاده کنیم. اگر فایل قبلاً وجود نداشته باشد، ایجاد خواهد شد. توجه داشته باشید که آرگومان دوم “a” حالتی را برای باز کردن فایل، در این مورد حالت “Append” مشخص می کند. با این کار موقعیت نوشتن در انتهای فایل تنظیم می شود.

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

اگر از “w” (حالت نوشتن) استفاده کرده بودیم، هر چیزی که در فایل بنویسیم از همان ابتدا شروع می شود و محتوای موجود را بازنویسی می کند.

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

f.write("\nIt's good to have been born!")

f.close()

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

پس از اینکه فایل را به آن اضافه می کنیم، در اینجا به نظر می رسد:

$ cat ./helloworld.txt
Hello world!
It's good to have been born!

یک نکته پایانی این است که اگر یک “+” را به آرگومان حالت اضافه کنیم open روش، ما می توانیم فایل را برای هر دو ضمیمه باز کنیم و خواندن این کار هم خواندن و هم نوشتن روی فایل را امکان پذیر می کند. بدون “+” an IOError اگر بخواهیم از فایل بخوانیم استثنا رخ خواهد داد. به‌طور پیش‌فرض، خواندن و نوشتن در انتهای فایل اتفاق می‌افتد، اما می‌توان هر زمان که بخواهید با استفاده از آن، آن را تغییر دهید seek روش.

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

f = open("./helloworld.txt", "a+")
f.write("I am grateful.")
f.flush() 
f.seek(0)
content = f.read()
print content
f.close()

و فایل نهایی به این صورت است:

$ cat ./helloworld.txt
Hello world!
It's good to have been born!
I am grateful.

درباره نویسنده

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

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



منتشر شده در 1403-01-22 18:46:04

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

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

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