2025/04 2

[python] 쉘의 파이프 "|"를 subprocess.Popne()으로 처리하는 방법

개요보안성 등을 높이기 위하여 shell=False로 subprocess.run()을 사용할 때는 쉘 기능이 비활성화되므로 "ls | grep txt" 같은 파이프라인 명령어를 문자열로 넘길 수 없습니다. 이번 글에서는 쉘에서 파이프로 여러 명령을 연결하여 처리하는 것을 파이썬으로 어떻게 구현하는지 알아보도록 하겠습니다.기본적인 쉘 명령과 shell=True예를 들어, 리눅스에서 다음과 같은 명령을 실행한다고 해볼까요?ls | grep txt이 명령은 현재 디렉토리에서 txt라는 문자열이 포함된 파일만 출력합니다. Python에서 이걸 단순히 실행하려면 shell=True로 아래와 같이 할 수 있습니다.from subprocess import runresult = run("ls | grep txt", s..

PyInstaller - "ModuleNotFoundError: No module named 'debugpy'" 문제 해결하기

개요개발과 배포 환경 사이의 차이로 인해 종종 예상치 못한 문제가 발생합니다.최근 제가 겪은 PyInstaller 배포 시, 발생한 debugpy 관련 오류와 해결 과정을 공유하고자 합니다.스레드 내부 디버깅 설정멀티스레드 애플리케이션을 개발하던 중, 스레드 디버깅을 위해 debugpy를 사용하고 있었습니다.from debugpy import debug_this_thread# 스레드 코드의 일부def worker_thread(): debug_this_thread() # 디버깅을 위한 함수 호출 # 스레드 작업 수행... ...위와 같이 스레드 실행부에 debug_this_thread() 함수를 호출하여 개발 중에는 정상적으로 디버깅을 할 수 있었습니다.발생한 오류그러나 PyInstall..

728x90