목차
- 파이썬 함수 인자 기본값 설정 예제 이전 포스팅 링크 및 설명
- 파이썬 Yield 문법 사용 예제 이전 포스팅 링크 및 설명
- 파이썬 Enumerate 반복 문법 활용 예제 이전 포스팅 링크 및 설명
- 파이썬 subprocess 활용 passwd 사용자 목록 파싱 예제
- 파이썬 파싱한 사용자 목록 화면에 출력 예제
파이썬 함수 인자 기본값 설정 예제 이전 포스팅 링크 및 설명
파이썬에서 함수를 만들 때, 인자의 기본값을 어떻게 설정하는지에 대한 예제를 다룬 이전 포스팅을 참조하세요. 파이썬 함수의 인자는 필요에 따라 기본값을 가질 수 있습니다. 그렇게 되면, 해당 인자를 생략하고 함수를 호출해도 기본값이 사용되어 에러 없이 코드가 진행됩니다. 이전 포스팅에서는 이를 어떻게 활용할 수 있는지에 대해 상세하게 설명했습니다. 이 방법을 통해 파이썬 코드를 더욱 효율적이고 가독성 좋게 작성할 수 있습니다. 자세한 내용을 원한다면 해당 포스트를 참고해주세요.
2023.08.17 - [Python] - [Python] 파이썬 함수, 내부함수 선언 및 호출 예제(datetime, function)
파이썬 Yield 문법 사용 예제 이전 포스팅 링크 및 설명
파이썬에서 Yield라는 특별한 키워드를 사용하는 방법에 대해 다룬 이전 포스팅을 확인해보세요. Yield는 파이썬의 제너레이터 함수에서 사용되며, 함수의 실행을 일시 중지하고 값을 반환하는 역할을 합니다. 이를 활용하면 메모리를 효율적으로 관리하면서 대규모 데이터를 처리할 수 있습니다. 이전 포스팅에서는 Yield를 사용하는 예제와 그것이 어떻게 동작하는지에 대해 자세히 설명했습니다. 이를 통해 파이썬의 yield 문법을 이해하고 활용하는 방법을 배울 수 있습니다.
2023.11.06 - [Python] - [Python/Linux] 파이썬 Yield 문법 활용 예제 - 2(sleep 반환 지연, generator)
파이썬 Enumerate 반복 문법 활용 예제 이전 포스팅 링크 및 설명
파이썬에서 반복문을 사용할 때, enumerate라는 기능을 활용하는 방법에 대한 예제를 다룬 이전 포스팅을 참조하세요. enumerate는 반복 가능한 객체(리스트, 튜플 등)를 입력받아 인덱스와 함께 각 요소를 반환하는 기능을 합니다. 이를 통해 반복문에서 현재 인덱스 정보를 쉽게 얻을 수 있습니다. 이전 포스팅에서는 enumerate를 사용하는 예제와 그것이 어떻게 동작하는지에 대해 자세히 설명했습니다. 이를 통해 파이썬의 enumerate 문법을 이해하고 활용하는 방법을 배울 수 있습니다.
2023.11.06 - [Python] - [Python/Linux] 파이썬 Enumerate 반복자 생성 예제 - 2(next 문법 활용)
파이썬 subprocess 활용 passwd 사용자 목록 파싱 예제
아래는 파이썬의 subprocess 모듈을 사용하면 운영체제의 시스템 명령어를 실행하여 passwd에 포함된 리눅스 사용자들 목록을 가져오는 예제입니다. 이를 통해 파이썬 코드 내에서 시스템 명령어를 실행하고 그 결과를 활용하는 방법을 배울 수 있으며 passwd 파일이 무엇인지, 그리고 리눅스 사용자들 목록을 가져오는 방법에 대해 알 수 있습니다.
import subprocess
def get_user_list():
# 'getent passwd' 명령을 실행
result = subprocess.run(['getent', 'passwd'], stdout=subprocess.PIPE)
# 출력 결과를 문자열로 변환
result_str = result.stdout.decode('utf-8')
# 각 줄을 분리하여 사용자 목록 생성
user_list = result_str.split('\n')
# 각 사용자 정보를 딕셔너리로 변환
users = []
for user in user_list:
if user:
user_info = user.split(':')
users.append({
'username': user_info[0],
'uid': user_info[2],
'gid': user_info[3],
'description': user_info[4],
'home': user_info[5],
'shell': user_info[6],
})
return users
파이썬 파싱한 사용자 목록 화면에 출력 예제
아래는 위에서 passwd 파일에서 리눅스 사용자를 파싱한 결과를 화면에 출력하는 예제입니다. 파이썬으로 데이터를 파싱하고 그 결과를 사용자에게 보여주는 방법을 알 수 있습니다.
import subprocess
def get_user_list():
# 'getent passwd' 명령을 실행
result = subprocess.run(['getent', 'passwd'], stdout=subprocess.PIPE)
# 출력 결과를 문자열로 변환
result_str = result.stdout.decode('utf-8')
# 각 줄을 분리하여 사용자 목록 생성
user_list = result_str.split('\n')
# 각 사용자 정보를 딕셔너리로 변환
users = []
for user in user_list:
if user:
user_info = user.split(':')
users.append({
'username': user_info[0],
'uid': user_info[2],
'gid': user_info[3],
'description': user_info[4],
'home': user_info[5],
'shell': user_info[6],
})
return users
users = get_user_list()
for user in users:
print(user)