2장. 시스템 도구
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
"지식으로 가는 os.경로"
이 장에서는 Python을 실제 프로그래밍 작업에 적용하는 방법을 심층적으로 살펴봅니다. 이 장과 다음 장에서는 Python을 사용해 시스템 도구, GUI, 데이터베이스 애플리케이션, 인터넷 스크립트, 웹사이트 등을 작성하는 방법을 살펴봅니다. 그 과정에서 코드 재사용, 유지보수성, 객체 지향 프로그래밍(OOP) 등 더 큰 Python 프로그래밍 개념도 함께 공부합니다.
이 책의 첫 번째 파트에서는 파일, 프로그램 및 프로그램을 둘러싼 일반적인 환경을 다루는 시스템 애플리케이션 도메인 스크립트를살펴보는 것으로 Python 프로그래밍 투어를 시작합니다. 이 영역의 예제는 특정 종류의 작업에 초점을 맞추고 있지만, 여기서 사용하는 기술은 이 책의 후반부에서도 유용하게 사용될 것입니다. 즉, 이미 Python 시스템 프로그래밍 마법사가 아니라면 여기서부터 시작해야 합니다.
왜 Python인가?
Python의 시스템 인터페이스는 애플리케이션 도메인에 걸쳐 있지만, 다음 5장에서는 대부분의 예제가 시스템 도구(명령줄 유틸리티, 셸 스크립트, 시스템 관리, 시스템 프로그래밍 및 이러한 단어의 다른 변형이라고도 하는 프로그램)의 범주에 속합니다. 이러한 스크립트는 디렉터리의 파일을 처리하고 테스트 프로그램을 실행하는 등의 작업을 수행합니다. 이러한 프로그램은 지금까지 DOS 배치 파일, csh, awk 등 이식 불가능하고 구문상 모호한 셸 언어로 작성되어 왔기 때문에 제목에 관계없이 이미 익숙할 것입니다.
하지만 이 비교적 단순한 영역에서도 Python의 몇 가지 우수한 특성이 빛을 발합니다. 예를 들어, Python의 사용 편의성과 광범위한 내장 라이브러리는 스레드, 시그널, 포크, 소켓 및 그 친족과 같은 고급 시스템 도구를 간단하고 재미있게 사용할 수 있게 해줍니다. 셸 언어의 모호한 구문과 컴파일 언어의 느린 개발 주기로 인해 이러한 도구에 접근하기가 훨씬 더 어려웠습니다. 코드 명확성 및 OOP와 같은 개념에 대한 Python의 지원은 읽기, 유지 관리 및 재사용이 가능한 셸 도구를 작성하는 데도 도움이 됩니다. Python을 사용하면 모든 새 스크립트를 처음부터 다시 시작할 필요가 없습니다.
또한 Python에는 시스템 도구를 작성하는 데 필요한 모든 인터페이스가 포함되어 있을 뿐만 아니라 스크립트 이식성도 뛰어납니다. Python의 표준 라이브러리를 사용하면 Python으로 작성된 대부분의 시스템 스크립트는 모든 주요 플랫폼으로 자동 이식됩니다. 예를 들어, 일반적으로 소스 코드를 전혀 변경하지 않고 Windows에서 작성된 Python 디렉토리 처리 스크립트를 Linux에서 실행하려면 소스 코드를 복사하기만 하면 됩니다. 이러한 이식성 유토피아를 달성하는 스크립트를 작성하려면 약간의 노력과 연습이 필요하지만, 잘만 활용하면 Python이 유일한 시스템 스크립팅 도구가 ...