목차
- 파이썬 간단한 csv 작성 및 파일 생성 예제 이전 포스팅 참고 학습
- 파이썬 csv 파일 읽기 및 출력 예제 이전 포스팅 참고 학습
- 파이썬 csv 파일을 pdf 파일로 변환 예제 이전 포스팅 참고 학습
- 파이썬 실행될 때 PID 파일의 pid를 읽고 중복 실행 방지 예제
- 파이썬 이전에 실행된 스크립트가 없으면 현재 프로세스 pid를 저장하는 예제
파이썬 간단한 csv 작성 및 파일 생성 예제 이전 포스팅 참고 학습
이전 포스팅에서는 파이썬에서 csv 헤더와 셀을 작성하고 파일로 생성하는 방법에 대해 알아보았습니다. csv란 간략한 엑셀 시트 형식을 가리키는 포멧 파일입니다. 대용량의 데이터를 백업하고 복원하기 위해서 자주 사용되는 파일 형식입니다. 파이썬을 통해 이러한 csv 파일을 작성하고 파일로 저장하여 다른 스크립트에서 사용하거나 엑셀 프로그램에서 동작하도록 만들 수 있습니다. 이처럼 파이썬에서 csv 파일 생성 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.05 - [Python] - [Python] 파이썬 간단한 csv 작성 및 파일 생성 예제(csv writer)
파이썬 csv 파일 읽기 및 출력 예제 이전 포스팅 참고 학습
다음으로 이전 포스팅에서는 csv 파일을 썼다면 이후 다시 csv 파일을 읽고 내용을 가져오는 예제에 대해 알아보았습니다. csv 헤더를 먼저 읽고 이후 셀들의 내용을 순차적으로 읽습니다. 그리고 파이썬 스크립트를 통해 해당 데이터를 가지고 업무 자동화 기능을 구현할 수 있습니다. 이처럼 파이썬에서 csv 파일을 읽고 업무 자동화 방법이 궁금하시다면 아래의 포스팅 링크를 참고하시면 다양한 예제들을 확인하실 수 있습니다.
2023.10.05 - [Python] - [Python] 파이썬 로컬 csv 파일 읽기 및 출력 예제(csv read)
파이썬 csv 파일을 pdf 파일로 변환 예제 이전 포스팅 참고 학습
마지막으로 이전 포스팅에서는 csv 파일 쓰기, 읽기에 더불어 csv 파일을 pdf 형식으로 변환하는 방법에 대해 알아보았습니다. 파이썬에서 csv를 pdf로 변환하는 방법은 외부 라이브러리를 사용해야합니다. 또한 pdf는 이미지 파일 형식과 비슷하기때문에 이러한 포멧으로 변환하여 새로운 파일로 저장해야합니다. 만약 파이썬 스크립트에서 csv 엑셀 파일을 pdf 파일 형식으로 변환하는 방법에 대해 궁금하시다면 아래 링크를 참고해주세요.
2023.10.05 - [Python] - [Python] 파이썬 csv 에서 pdf 변환 예제(csv to pdf convert, reportlab)
파이썬 실행될 때 PID 파일의 pid를 읽고 중복 실행 방지 예제
아래는 파이썬에서 자기 자신의 스크립트가 중복 실행되지않도록 실행되자마자 이전 프로세스의 pid가 적혀있는 PID 파일을 검사하는 예제입니다. 만약 해당 pid를 가진 프로세스가 실행중이라면 바로 스크립트를 종료합니다.
import os
import time
# PID 파일 경로
pid_file = "/tmp/python.pid"
# PID 파일에서 PID 값을 읽음
pid = -1
try:
with open(pid_file, 'r') as file:
pid = int(file.read())
except Exception:
pid = -1
# PID가 현재 실행 중인지 확인
if os.path.exists(f"/proc/{pid}"):
print(f"이미 PID {pid} 프로세스가 실행 중입니다.")
else:
print(f"PID {pid} 프로세스가 실행 중이 아닙니다. 파이썬 스크립트를 실행합니다.")
time.sleep(10)
파이썬 이전에 실행된 스크립트가 없으면 현재 프로세스 pid를 저장하는 예제
아래는 파이썬에서 만약 이전 프로세스가 실행중 상태가 아니라면 자기 자신의 스크립트를 계속 진행하고 자신의 pid를 PID 파일에 저장하는 예제입니다. 이를 통해 파이썬 스크립트가 중복실행되는 것을 방지할 수 있습니다.
import os
import time
# PID 파일 경로
pid_file = "/tmp/python.pid"
# PID 파일에서 PID 값을 읽음
pid = -1
try:
with open(pid_file, 'r') as file:
pid = int(file.read())
except Exception:
pid = -1
# PID가 현재 실행 중인지 확인
if os.path.exists(f"/proc/{pid}"):
print(f"이미 PID {pid} 프로세스가 실행 중입니다.")
else:
current_pid = os.getpid()
with open(pid_file, "w") as file:
file.write(str(current_pid))
print(f"프로세스가 실행 중이 아닙니다. 파이썬 스크립트를 실행합니다.")
time.sleep(10)