셸 스크립트 작성 및 조정을위한 Python 제어 흐름 및 루프 학습-2 부


이 Python 시리즈의 이전 기사에서 Python, 명령 줄 셸 및 IDLE에 대한 간략한 소개를 공유했습니다. 또한 산술 계산을 수행하는 방법, 변수에 값을 저장하는 방법, 해당 값을 화면에 다시 인쇄하는 방법도 시연했습니다. 마지막으로 실제 예제를 통해 객체 지향 프로그래밍의 맥락에서 메서드와 속성의 개념을 설명했습니다.

이 가이드에서는 제어 흐름 (사용자가 입력 한 정보, 계산 결과 또는 변수의 현재 값에 따라 다른 작업 과정 선택) 및 루프 (반복 작업 자동화)에 대해 논의한 다음 적용 할 내용을 적용합니다. 지금까지 운영 체제 유형, 호스트 이름, 커널 릴리스, 버전 및 시스템 하드웨어 이름을 표시하는 간단한 셸 스크립트를 작성하는 방법을 배웠습니다.

이 예제는 기본적이지만 Python OOP의 기능을 활용하여 일반 bash 도구를 사용하는 것보다 쉽게 쉘 스크립트를 작성하는 방법을 설명하는 데 도움이됩니다.

즉, 우리는

# uname -snrvm

...에

또는

예쁘지 않나요? "소매를 걷어 올려서 실현합시다.

Python의 제어 흐름

앞서 말했듯이 제어 흐름을 통해 주어진 조건에 따라 다른 결과를 선택할 수 있습니다. 파이썬에서 가장 간단한 구현은 if/else 절입니다.

기본 구문은 다음과 같습니다.

if condition:
    # action 1
else:
    # action 2
  1. When condition evaluates to true, the code block below will be executed (represented by # action 1. Otherwise, the code under else will be run.
  2. A condition can be any statement that can evaluate to either true or false. For example:
1 < 3 # true
firstName == "Gabriel" # true for me, false for anyone not named Gabriel
  1. In the first example we compared two values to determine if one is greater than the other.
  2. In the second example we compared firstName (a variable) to determine if, at the current execution point, its value is identical to “Gabriel
  3. The condition and the else statement must be followed by a colon (:)
  4. Indentation is important in Python. Lines with identical indentation are considered to be in the same code block.

if/else 문은 Python에서 사용할 수있는 많은 제어 흐름 도구 중 하나 일뿐입니다. 나중에 스크립트에서 사용할 것이기 때문에 여기서 검토했습니다. 공식 문서에서 나머지 도구에 대해 자세히 알아볼 수 있습니다.

Python의 루프

간단히 말해, 루프는 조건이 참인 한 순서대로 실행되거나 목록의 항목 당 한 번씩 실행되는 일련의 명령 또는 명령문입니다.

Python에서 가장 간단한 루프는 첫 번째 항목에서 시작하여 마지막 항목으로 끝나는 주어진 목록 또는 문자열의 항목을 반복하는 for 루프로 표시됩니다.

기본 구문 :

for x in example:
	# do this

여기 예는 목록 또는 문자열 일 수 있습니다. "전자 인 경우 x라는 변수는 목록의 각 항목을 나타냅니다. 후자의 경우 x는 문자열의 각 문자를 나타냅니다.

>>> rockBands = []
>>> rockBands.append("Roxette")
>>> rockBands.append("Guns N' Roses")
>>> rockBands.append("U2")
>>> for x in rockBands:
    	print(x)
or
>>> firstName = "Gabriel"
>>> for x in firstName:
    	print(x)

위 예제의 출력은 다음 이미지에 표시됩니다.

Python 모듈

명백한 이유로, 필요할 때 호출 할 수있는 파일에 일련의 Python 명령 및 명령문을 저장하는 방법이 있어야합니다.

그것이 바로 모듈입니다. "특히 os 모듈은 기본 운영 체제에 대한 인터페이스를 제공하며 일반적으로 명령 줄 프롬프트에서 수행하는 많은 작업을 수행 할 수 있습니다.

따라서 이전 기사에서 설명한대로 호출 할 수있는 여러 메서드와 속성을 통합합니다. 그러나 import 키워드를 사용하여 환경에 가져 오거나 포함해야합니다.

>>> import os

현재 작업 디렉토리를 인쇄 해 보겠습니다.

>>> os.getcwd()

이제이 모든 것을 (이전 기사에서 논의한 개념과 함께) 모아서 원하는 스크립트를 작성해 보겠습니다.