logo

מודול StringIO ב-Python

זה StringIO מודול הוא אובייקט בזיכרון, דמוי קובץ. ניתן להשתמש בו כדי להזין או להוציא את רוב הפונקציות שמשתמשים יכולים לצפות מאובייקט קובץ רגיל. ברגע שהמשתמש יוצר את אובייקטי StringIO, הם נוצרים תחילה על ידי מתן מחרוזת לבנאי. אם אין מחרוזת, ה-StringIO יהיה ריק. בשני המקרים, הסמן המוצג בתחילה בקובץ יתחיל באפס.

המודול אינו זמין בגרסה העדכנית ביותר של Python; לכן, כדי להיות מסוגלים להשתמש במודול זה, עלינו להעביר אותו למודול Io ב-Python בצורה של 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 המחזירות ערך בוליאני, כלומר, false או true:

    isatty():פונקציה זו של StringIO משמשת להחזרת False אם הזרם אינו אינטראקטיבי ו-True אם הזרם אינטראקטיבי.קָרִיא():פונקציה זו של StringIO משמשת להחזרת False אם הקובץ אינו קריא ו-True אם הקובץ קריא.לכתיבה():פונקציה זו של StringIO משמשת להחזרת False אם הקובץ אינו תומך בכתיבה ו-True אם הקובץ תומך בכתיבה.ניתן לחפש():פונקציה זו של StringIO משמשת להחזרת False אם הקובץ אינו תומך בגישה אקראית ו-True אם הקובץ תומך בגישה אקראית.סָגוּר:הפונקציה הזו של StringIO משמשת להחזרת False במקרה שהקובץ פתוח והיא מחזירה True אם הקובץ נסגר.

תחביר:

תחבירים של השיטה לעיל הם:

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

דוגמא:

 # 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() המופעל.

פקודות linux ליצור תיקייה

תחביר:

התחביר של השיטה לעיל הוא:

 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.close() זה משמש לסגירת הקובץ. פונקציה זו נקראת על קובץ, ולא נוכל לבצע בו פעולות. כל פעולה שתעשה תגרום ל- ValueError .

תחביר: =

תחבירים של השיטה לעיל הם:

 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