logo

Moduł StringIO w Pythonie

To jest CiągIO moduł jest znajdującym się w pamięci obiektem przypominającym plik. Można go używać do wprowadzania lub wyprowadzania większości funkcji, których użytkownicy mogą oczekiwać od zwykłego obiektu pliku. Gdy użytkownik utworzy obiekty StringIO, są one początkowo tworzone przez podanie ciągu znaków do konstruktora. Jeśli nie ma ciągu, StringIO będzie puste. W obu przypadkach początkowo wyświetlany kursor na pliku będzie zaczynał się od zera.

Moduł nie jest dostępny w najnowszej wersji Pythona; dlatego, aby móc korzystać z tego modułu, musimy przenieść go do modułu Io w Pythonie w postaci io.StringIO.

Przykład:

 # 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()) 

Wyjście:

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

Ważne metody StringIO:

Oto niektóre metody StringIO:

1. StringIO.getvalue(): Funkcja ta służy do zwrócenia całej zawartości pliku.

Składnia:

Składnia powyższej metody jest następująca:

 File_name.getvalue() 

Przykład:

 # 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()) 

Wyjście:

 Hello and thank you for visiting to Javatpoint.com 

2. W tym artykule przyjrzymy się niektórym funkcjom StringIO, które zwracają wartość logiczną, tj. fałszywą lub prawdziwą:

aplet aplet
    isatty():Ta funkcja StringIO służy do zwracania wartości False, jeśli strumień nie jest interaktywny, i True, jeśli strumień jest interaktywny.czytelny():Ta funkcja StringIO służy do zwracania wartości False, jeśli plik nie jest czytelny, i True, jeśli plik jest czytelny.zapisywalny():Ta funkcja StringIO służy do zwracania False, jeśli plik nie obsługuje zapisu i True, jeśli plik obsługuje zapis.możliwy do przeszukania():Ta funkcja StringIO służy do zwracania False, jeśli plik nie obsługuje dostępu losowego, i True, jeśli plik obsługuje dostęp losowy.Zamknięte:Ta funkcja StringIO służy do zwracania False w przypadku, gdy plik jest otwarty i zwraca True, jeśli plik jest zamknięty.

Składnia:

Składnie powyższej metody to:

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

Przykład:

 # 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) 

Wyjście:

 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(): The szukać() funkcja służy do ustawienia pozycji kursora w pliku. Jeśli wykonamy jakąkolwiek operację zapisu lub odczytu na dokumencie, kursor zostanie umieszczony na indeksie, który był ostatnio używany, abyśmy mogli przesunąć kursor z pozycji początkowej pliku, zostanie zastosowana funkcja search().

Składnia:

Składnia powyższej metody jest następująca:

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

Przykład:

 # 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 

Wyjście:

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

4. StringIO.truncate(): Ta funkcja służy do zmiany rozmiaru strumienia pliku. Ta metoda zapisuje plik i upuszcza go po podanym indeksie.

Składnia:

Składnie powyższej metody to:

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

Przykład:

znajdź ciąg znaków C++
 # 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()) 

Wyjście:

 Hello and welcome to Javatpoint.com. Hello and welc 

5. StringIO.tell(): Ta metoda służy do informowania o bieżącym strumieniu pliku i pozycji kursora.

Składnia:

Składnie powyższej metody to:

 File_name.tell() 

Przykład:

 # 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()) 

Wyjście:

 0 23 

6. StringIO.close() Służy do zamykania pliku. Funkcja ta wywoływana jest na pliku i nie możemy na nim wykonywać żadnych operacji. Każda wykonana operacja spowoduje, że: Błąd wartości .

Składnia: =

Składnie powyższej metody to:

 File_name.close( 

Przykład:

 # 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) 

Wyjście:

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