목차
- 파이썬 split 으로 문자열 자르기 예제 이전 포스팅 참고 학습
- 파이썬 json 파싱 예제 이전 포스팅 참고 학습
- 파이썬 os.chdir 작업 경로 및 디렉토리 변경 예제 이전 포스팅 참고 학습
- 파이썬 stdout fd 열고 문자열 쓰기로 출력 예제
- 파이썬 stdout 출력 내용을 파일에 저장하기 예제
파이썬 split 으로 문자열 자르기 예제 이전 포스팅 참고 학습
이전 포스팅에서는 split 함수를 사용하여 파이썬에서 긴 문자열을 특정 단어 기준으로 앞 뒤 나누는 방법에 대해 알아보았습니다. 만약 나눌려는 단어가 1개가 아닌 여러개라면 모든 나뉘어진 문자열들이 배열로 반환됩니다. 따라서 스페이스(' ') 처럼 공백으로 나뉘어진 문자열이 있을 때 이러한 split 함수를 사용하여 나눠 다른 곳에 사용합니다. 만약 파이썬에서 split 함수 사용 방법이 궁금하시다면 아래 링크를 참고하여 학습해주세요.
2020.06.29 - [Python/os] - Python split 함수(문자열 자르기)
파이썬 json 파싱 예제 이전 포스팅 참고 학습
다음으로 이전 포스팅에서는 json 문자열을 파싱하여 dictionary 타입 변수에 저장하는 방법에 대해 알아보았습니다. json 은 키와 값으로 이루어진 데이터를 효율적으로 네트워크 통신으로 주고 받는 타입 입니다. dict는 파이썬의 고유한 자료구조로서 키와 값의 형태를 가집니다. 이처럼 두 자료구조의 형태가 비슷하기 때문에 json 문자열로 이루어진 값을 파싱하여 dict로 처리합니다. 만약 파이썬에서 json 문자열을 파싱하여 키와 값으로 이루어진 dict로 사용하고 싶으시다면 아래 링크를 참고하여 학습해주세요.
2020.07.11 - [Python/json] - Python json 파싱(Json, Parsing, Python)
파이썬 os.chdir 작업 경로 및 디렉토리 변경 예제 이전 포스팅 참고 학습
마지막으로 이전 포스팅에서는 파이썬의 os.chdir 함수를 사용하여 현재 작업중인 디렉토리 경로를 변경하는 방법에 대해 알아보았습니다. change directory의 약자로서 프로그래밍 코드 혹은 쉘 스크립트에서는 자주 다른 실행 명령으로 인해 현재 작업 경로가 변경됩니다. 이러한 현재 작업 경로를 변경하기 위해 os.chdir 을 사용합니다. 만약 파이썬에서 현재 작업 경로를 변경해야할 필요가 있으시다면 아래 링크의 포스팅을 참고하여 학습해주세요.
2021.11.27 - [Python/os] - Python 작업 경로 및 디렉토리 변경(os.chdir)
파이썬 stdout fd 열고 문자열 쓰기로 출력 예제
아래는 파이썬에서 stdout을 가리키는 fd를 열고 문자열을 전송하여 화면에 해당 문자열을 출력하는 예제입니다. 표준 입출력 장치중 출력 장치로서 리눅스 시스템에선 이 fd를 공유하여 사용합니다.
import sys
# stdout 파일 디스크립터를 엽니다.
stdout_fd = sys.stdout.fileno()
# 문자열을 바이트로 변환합니다.
message = "Hello, stdout!\n"
message_bytes = message.encode("utf-8")
# stdout 파일 디스크립터로 문자열을 씁니다.
bytes_written = sys.stdout.buffer.write(message_bytes)
# 출력한 바이트 수 출력
print(f"Bytes written: {bytes_written}")
파이썬 stdout 출력 내용을 파일에 저장하기 예제
아래는 조금더 활용한 예제로서 stdout 출력 fd에 나오는 내용을 파일에 리다이렉트 하여 저장하는 예제입니다.
import sys
# 파일에 stdout을 리디렉션할 파일 이름
output_file = "/tmp/output.txt"
try:
# 기존 stdout을 저장해둡니다.
original_stdout = sys.stdout
# 파일로 stdout을 리디렉션합니다.
sys.stdout = open(output_file, "w")
# 원래의 stdout 대신에 파일에 직접 쓸 수 있습니다.
print("This is written to the file using sys.stdout")
except Exception as e:
print(f"An error occurred: {e}")
finally:
# 리디렉션한 stdout을 닫고, 원래의 stdout으로 복원합니다.
if sys.stdout != original_stdout:
sys.stdout.close()
sys.stdout = original_stdout
print("This message goes to the console")