Różnica między funkcjami write() i writelines() w Pythonie

W Pythonie istnieje wiele funkcji do odczytu i zapisu plików. Zarówno funkcje odczytu, jak i zapisu działają na otwartych plikach (plikach otwieranych i połączonych poprzez obiekt pliku). W tej sekcji omówimy funkcje zapisu służące do manipulowania danymi za pośrednictwem plików.

funkcję zapisu().

Funkcja write() zapisze zawartość pliku bez dodawania żadnych dodatkowych znaków.

Składnia :

# Writes string content referenced by file object. file_name.write(content) 

Zgodnie ze składnią ciąg znaków przekazywany do funkcji write() jest zapisywany w otwartym pliku. Ciąg może zawierać cyfry, znaki specjalne lub symbole. Zapisując dane do pliku musimy wiedzieć, że funkcja zapisu nie dodaje znaku nowej linii ( ) na końcu ciągu. Funkcja write() zwraca None.

Przykład:

Python3




file> => open> (> 'Employees.txt'> ,> 'w'> )> > for> i> in> range> (> 3> ):> > name> => input> (> 'Enter the name of the employee: '> )> > file> .write(name)> > file> .write(> ' '> )> > file> .close()> > print> (> 'Data is written into the file.'> )>

Wyjście:

Data is written into the file. 

Przykładowy przebieg:

Enter the name of the employee: Aditya Enter the name of the employee: Aditi Enter the name of the employee: Anil 

funkcja writelines().

Funkcja ta zapisuje zawartość listy do pliku.

Składnia :

# write all the strings present in the list 'list_of_lines' # referenced by file object. file_name.writelines(list_of_lines) 

Zgodnie ze składnią lista ciągów przekazywana do funkcji writelines() jest zapisywana w otwartym pliku. Podobnie jak funkcja write(), funkcja writelines() nie dodaje znaku nowego wiersza ( ) na końcu łańcucha.

Przykład:

Python3




file1> => open> (> 'Employees.txt'> ,> 'w'> )> lst> => []> for> i> in> range> (> 3> ):> > name> => input> (> 'Enter the name of the employee: '> )> > lst.append(name> +> ' '> )> > file1.writelines(lst)> file1.close()> print> (> 'Data is written into the file.'> )>

Wyjście:

Data is written into the file. 

Przykładowy przebieg:

Enter the name of the employee: Rhea Enter the name of the employee: Rohan Enter the name of the employee: Rahul 

Jedyna różnica pomiędzy pisać() I linie zapisu() polega na tym, że metoda write() służy do zapisywania ciągu znaków w już otwartym pliku, podczas gdy metoda writelines() służy do zapisywania listy ciągów znaków w otwartym pliku.