목차
- os.write 함수란?
- os.write 함수 인자 및 반환 값 설명
- 새로운 파일에 문자열 쓰기 예제
- 기존 파일 마지막에 문자열 추가하기 예제
- 다른 파일의 내용을 읽어 새로운 파일에 쓰기 예제
1. os.write 함수란?
os.write 함수는 파일에 데이터를 쓰는 함수입니다.
2. os.write 함수 인자 및 반환 값 설명
os.write 함수는 파일 디스크립터와 바이트 문자열을 인자로 받으며, 성공 시 쓴 바이트 수를 반환합니다.
os.write
함수는 파일 디스크립터와 바이트 문자열을 인자로 받습니다.
fd
: 파일 디스크립터(File Descriptor)로 파일을 식별하는 숫자입니다. 파일은 고유한 파일 디스크립터를 가집니다.data
: 쓰고자 하는 데이터를 나타내는 바이트 문자열입니다. 파일에 저장될 데이터입니다.
os.write
함수는 성공적으로 데이터를 쓴 경우 쓴 바이트 수를 반환하며, 실패할 경우 -1을 반환합니다. -1 반환 시 OSError
예외가 발생할 수 있습니다.
3. 새로운 파일에 문자열 쓰기 예제
아래 예제는 이전에 없던 새로운 파일을 생성하여 문자열을 추가하는 예제입니다. "/tmp/new_file.txt" 라는 경로에 생성합니다.
import os
file_path = '/tmp/new_file.txt'
mode = 'w'
with open(file_path, mode) as file:
data = "Hello, world!"
bytes_written = os.write(file.fileno(), data.encode('utf-8'))
print(f"{bytes_written} bytes written.")
4. 기존 파일 마지막에 문자열 추가하기 예제
import os
file_path = '/tmp/new_file.txt'
mode = 'a'
with open(file_path, mode) as file:
data = "Appended text."
bytes_written = os.write(file.fileno(), data.encode('utf-8'))
print(f"{bytes_written} bytes written.")
5. 다른 파일의 내용을 읽어 새로운 파일에 쓰기 예제
아래는 기존에 있었던 파일의 내용을 읽어서 새로운 파일에 그대로 복사하는 예제입니다.
import os
source_file = '/tmp/test2.html'
target_file = '/tmp/new_file.txt'
mode = 'w'
with open(source_file, 'rb') as source:
source_data = source.read()
with open(target_file, mode) as target:
bytes_written = os.write(target.fileno(), source_data)
print(f"{bytes_written} bytes written.")
반응형