از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
پایتون: محتوا را به یک فایل اضافه کنید
سرفصلهای مطلب
در این مقاله روش افزودن محتوا به فایل موجود با استفاده از پایتون را بررسی خواهیم کرد.
فرض کنید یک فایل به نام داریم 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