Python을 사용하여 문자열을 텍스트 파일로 인쇄
-
Python의
open()
메서드를 사용하여 텍스트 파일에 쓰기 -
Python에서
open()
메서드 및 컨텍스트 관리자를 사용하여 텍스트 파일에 쓰기 -
Python의
pathlib
모듈을 사용하여 텍스트 파일에 쓰기
이 자습서에서는 Python에서 텍스트 파일에 데이터를 쓰는 데 사용할 수 있는 방법에 대해 설명합니다.
Python의 open()
메서드를 사용하여 텍스트 파일에 쓰기
내장 메서드 open()
은 Python의 텍스트 파일과 상호 작용할 수 있습니다. open()
메서드는 파일 경로와 모드를 입력 매개 변수로 사용하고 파일을 열고 파일 개체를 반환합니다.
데이터를 읽으려면 r
을 모드로 지정하고 데이터를 쓰려면 w
를 모드로 지정해야 합니다. 쓰기 모드에서 파일을 열면 이전에 반환된 파일 객체의 write()
메서드에 액세스하여 데이터를 파일에 쓸 수 있습니다.
모든 데이터를 파일에 쓴 후에는 close()
메서드로 파일을 닫아야 합니다. 이것은 다른 프로그램이 데이터를 읽을 수 있도록 하고 올바르게 수행하지 않으면 데이터가 손상될 수 있기를 원하는 경우에 필요합니다.
암호:
data = "This is some data"
File = open("File.txt", "w")
File.write("Data: %s" % data)
File.close()
파일.txt:
Data: This is some data
위의 코드에서 쓰기 모드에서 File.txt
파일을 열고 write()
메서드를 사용하여 이 파일 안에 data
를 썼습니다. 이 방법은 파일을 열 때마다 파일을 닫도록 충분히 주의한다면 잘 작동하지만 바람직하지 않습니다.
Python에서 open()
메서드 및 컨텍스트 관리자를 사용하여 텍스트 파일에 쓰기
컨텍스트 관리자는 읽기 또는 쓰기 작업이 수행되지 않을 때 이전에 열린 파일을 자동으로 닫습니다. 컨텍스트 관리자의 구문에는 with
다음에 open()
및 별칭을 작성하는 것이 포함됩니다.
이렇게 하면 들여쓰기된 코드 블록이 생성됩니다. 파일은 이 블록의 컨텍스트 내에서만 열려 있으며 컨텍스트 관리자는 이 블록이 끝나면 자동으로 파일을 닫습니다.
다음 코드 예제는 컨텍스트 관리자와 함께 open()
메서드를 활용하여 일부 데이터를 Python의 텍스트 파일에 쓰는 방법을 보여줍니다.
암호:
data = "This is still some data"
with open("File.txt", "w") as File:
File.write("Data: %s" % data)
파일.txt:
Data: This is still some data
위 코드에서 open()
메서드와 컨텍스트 관리자로 파일을 열었습니다. 컨텍스트 관리자 방법은 단순한 open()
방법보다 훨씬 우수하며 여러 파일로 작업하는 동안 항상 선호되어야 합니다.
Python의 pathlib
모듈을 사용하여 텍스트 파일에 쓰기
pathlib
모듈은 Python에서 우리 시스템의 파일 시스템과 상호 작용하는 방법을 제공합니다. pathlib
모듈의 Path()
메서드를 사용하여 원하는 텍스트 파일을 열 수 있습니다.
Path()
메서드는 파일의 경로를 입력 매개변수로 사용하고 해당 개체를 반환합니다. 그런 다음 이전에 반환된 객체의 write_text()
메서드를 사용하여 일부 데이터를 파일에 쓸 수 있습니다.
write_text
메서드를 사용하면 파일을 명시적으로 열고 닫는 것에 대해 걱정할 필요가 없습니다.
암호:
import pathlib
data = "This is some data"
File = pathlib.Path("File.txt")
File.write_text("Data: %s" % data)
파일.txt:
Data: This is some more data
코드에서 pathlib
모듈을 사용하여 File.txt
파일 내에 data
변수를 작성했습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn