logo

وحدة StringIO في بايثون

انها StringIO الوحدة النمطية هي كائن يشبه الملف في الذاكرة. يمكن استخدامه لإدخال أو إخراج غالبية الوظائف التي يمكن للمستخدمين توقعها من كائن ملف عادي. بمجرد قيام المستخدم بإنشاء كائنات StringIO، يتم إنشاؤه في البداية عن طريق توفير سلسلة للمنشئ. إذا لم يكن هناك سلسلة، فسيكون StringIO فارغًا. في كلتا الحالتين، سيبدأ المؤشر المعروض في البداية على الملف عند الصفر.

الوحدة غير متوفرة في أحدث إصدار من Python؛ وبالتالي، لكي نتمكن من استخدام هذه الوحدة، نحتاج إلى نقلها إلى وحدة Io في بايثون على شكل io.StringIO.

سلسلة.مقارنة مع ج #

مثال:

 # First, we will import the required module. from io import StringIO as SIO # The arbitrary string. string_1 = 'This is the initialized string.' # Here, we will use the StringIO method for setting as the file object. # Now, we have an object-file that we can treat as a file. file_1 = SIO(string_1) # Now, we will be reading the file by using read() print (file_1.read()) # Here, We can also write in this file. file_1.write(' Welcome to Javatpoint.com.') # by using the following command, we can make the cursor at index 0. file_1.seek(0) # by using the following command, the user is able to print the file after writing #in the initialized string (string_1). print ('The file of the string after writing in it is:', file_1.read()) 

انتاج:

 This is the initialized string. The file of the string after writing in it is: This is the initialized string. Welcome to Javatpoint.com. 

طرق مهمة لـ StringIO:

فيما يلي بعض طرق StringIO:

1. StringIO.getvalue(): تُستخدم هذه الوظيفة لإرجاع محتوى الملف بالكامل.

بناء الجملة:

بناء جملة الطريقة المذكورة أعلاه هو:

 File_name.getvalue() 

مثال:

 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 = 'Hello and thank you for visiting to Javatpoint.com.' # Here, we will use the StringIO method for setting as the file object. file_1 = SIO(string_1) # Retrieving the complete contents of the above file. print(file_1.getvalue()) 

انتاج:

 Hello and thank you for visiting to Javatpoint.com 

2. في هذا، سنلقي نظرة على بعض وظائف StringIO التي تُرجع قيمة منطقية، أي إما خطأ أو صحيح:

    إيساتي ():يتم استخدام وظيفة StringIO هذه لإرجاع False إذا لم يكن الدفق تفاعليًا وTrue إذا كان الدفق تفاعليًا.قابلة للقراءة ():يتم استخدام وظيفة StringIO هذه لإرجاع خطأ إذا كان الملف غير قابل للقراءة وصحيح إذا كان الملف قابلاً للقراءة.قابل للكتابة ():يتم استخدام وظيفة StringIO هذه لإرجاع خطأ إذا كان الملف لا يدعم الكتابة وصحيح إذا كان الملف يدعم الكتابة.يمكن البحث عنه ():يتم استخدام وظيفة StringIO هذه لإرجاع خطأ إذا كان الملف لا يدعم الوصول العشوائي وصحيح إذا كان الملف يدعم الوصول العشوائي.مغلق:يتم استخدام وظيفة StringIO هذه لإرجاع False في حالة فتح الملف وإرجاع True في حالة إغلاق الملف.

بناء الجملة:

بناء جملة الطريقة المذكورة أعلاه هي:

 1. File_name.isatty() 2. File_name.readable() 3. File_name.writable() 4. File_name.seekable() 5. File_name.closed 

مثال:

بيثون سلسلة f
 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 = 'Hello and thank you for visiting to Javatpoint.com.' # Here, we will use the StringIO method for setting # as the file object. file_1 = SIO(string_1) # by using the following command, the user will be able to return is the file #interactive or not. print ('Is the file stream above interactive?', file_1.isatty()) # by using the following command, # the user will be able to return is the file readable or not. print ('Is the file stream above readable?', file_1.readable()) # by using the following command, # the user will be able to return does the file support writing or not. print ('Is the file stream above writable?', file_1.writable()) # by using the following command, , the user will be able to return is the file #seekable or not. print ('Is the file stream above seekable?', file_1.seekable()) # by using the following command, the user will be able to return is the file #closed or not. print ('Is the file above closed?', file_1.closed) 

انتاج:

 Is the file stream above interactive? False Is the file stream above readable? True Is the file stream above writable True Is the file stream above seekable? True Is the file above closed? False 

3. StringIO.seek (): ال يطلب() يتم استخدام الوظيفة لتعيين موضع المؤشر داخل الملف. إذا قمنا بتنفيذ أي عملية كتابة أو قراءة على مستند، فسيتم وضع المؤشر على الفهرس الذي تم استخدامه آخر مرة حتى نتمكن من تحريك المؤشر من موضع البداية للملف Seek() المستخدم.

بناء الجملة:

بناء جملة الطريقة المذكورة أعلاه هو:

 File_name.seek(argument) #This argument tells the function where to place the cursor. 

مثال:

 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 ='Hello and thank you for visiting to Javatpoint.com.' # Here, we will use the StringIO method for setting as the file object. file_1 = SIO(string_1) # here, the user will be able to Read the file: print (file_1.read()) #If the user wishes to view the file again, it will display empty file since the #cursor has been set to the last index. It will also not print anything because #the function returns an empty string. print (file_1.read()) # So, to set the cursor position for reading or writing the file again # we can use seek() function. #We can pass any index here form(0 to len(file)) file_1.seek(0) # Now the user can read the file again print (file_1.read())S 

انتاج:

 Hello and thank you for visiting to Javatpoint.com. Hello and thank you for visiting to Javatpoint.com. 

4. StringIO.truncate (): تُستخدم هذه الوظيفة لتغيير حجم دفق الملف. تقوم هذه الطريقة بحفظ الملف وإسقاطه بعد الفهرس المحدد.

بناء الجملة:

بناء جملة الطريقة المذكورة أعلاه هي:

 File_name.truncate(size = None) # The user can provide the size from where to truncate the file. 

مثال:

إم في سي مع جافا
 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 ='Hello and welcome to Javatpoint.com.' # Here, we will use the StringIO method for setting as the file object. file_1 = SIO(string_1) # here, we can read the initial file: print(file_1.read()) # for setting the cursor at 0. file_1.seek(0) # for dropping the file after the given index, i.e., 14. file_1.truncate(14) # here, it will print the File after truncate. print(file_1.read()) 

انتاج:

 Hello and welcome to Javatpoint.com. Hello and welc 

5. StringIO.tell (): تُستخدم هذه الطريقة لإخبار التدفق الحالي للملف وموضع المؤشر.

كائن في برمجة جافا

بناء الجملة:

بناء جملة الطريقة المذكورة أعلاه هي:

 File_name.tell() 

مثال:

 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 ='Hello and welcome to Javatpoint.com.' # Here, we will use the StringIO method for setting as the file object. file_1 = SIO(string_1) # Here the cursor is set at index '0'. print(file_1.tell()) # now, we are setting the Cursor to index '23'. file_1.seek(23) # here, we will be printing the index of cursor print(file_1.tell()) 

انتاج:

 0 23 

6. StringIO.إغلاق () يستخدم هذا لإغلاق الملف. يتم استدعاء هذه الوظيفة على ملف، ولا يمكننا إجراء أي عمليات عليه. أي عملية يتم إجراؤها ستؤدي إلى خطأ القيمة .

بناء الجملة: =

بناء جملة الطريقة المذكورة أعلاه هي:

 File_name.close( 

مثال:

 # First, we will import the StringIO module. from io import StringIO as SIO # The arbitrary string. string_1 ='Hello and welcome to Javatpoint.com.' # Here, we will use the StringIO method for setting as the file object. file_1 = SIO(string_1) # here, we can read the initial file: print(file_1.read()) # for closing the current file. file_1.close() # If the user would perform any operation on the above file now, it will raise an #ValueError. # here, we will be using the closed function to know whether the file is closed #or not. print('Is the file closed?', file_1.closed) 

انتاج:

 Hello and welcome to Javatpoint.com. Is the file closed? True