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.