[Python] 2. Multiprocessing(멀티 프로세싱) 결과를 정렬하여 받는 방법, 공유할 데이터가 있을 때의 방법 multiprocessing.Manager()
결과를 정렬하여 받는 방법 프로세스들이 병렬로 실행되기 때문에,결과값의 순서가 보장되지 않으므로, 정렬을 통해 순서를 맞추어 출력하면 된다.실제 작업은 병렬로 작업하여 순서가 맞지 않지만, 결과만 순서대로 받고 작업이 전부 끝날 때 한번에 받는다. 예시)import multiprocessingdef update_data(index, url): # 데이터 처리 로직 return f"{index}\t{url}"if __name__ == "__main__": # 데이터 준비 index_list = [1, 2, 3, 4] url_list = ["url1", "url2", "url3", "url4"] # 멀티프로세싱 Pool 객체 생성 with multiprocessing.P..
2024. 5. 28.
[Python] any() 함수와 시퀀스(Sequence)와 이터러블(Iterable)에 대한 설명, 리스트 컴프리헨션, 제너레이터 표현식 설명
any() 함수 설명과 예제any() 함수는 파이썬 내장 함수 중 하나로, 인자로 반복 가능한(iterable) 객체를 받아 그 안에 있는 요소 중 하나라도 참이면 True를 반환하고, 모든 요소가 거짓일 경우에만 False를 반환합니다. 따라서 any() 함수는 주어진 조건을 만족하는 요소가 있는지 여부를 판단할 때 사용됩니다. 예제)user_ids = ['user1', 'user2', 'user3']partner_lst = [['user4', 'user5'], ['user6', 'user1'], ['user7', 'user8']]# 파트너 리스트에 사용자 아이디가 있는지 확인found = any(user_id in partner for partner in partner_lst for user_id i..
2024. 5. 28.
[Python] 파일, 폴더 관련된 모듈과 함수들 os, makedirs(), os.path.join(), shutil, exists(), remove(), listdir()
폴더 생성하는 방법폴더를 생성하는 방법은 os.makedirs() 함수를 사용합니다. 이 함수는 하위 디렉토리를 모두 생성하며, exist_ok=True 옵션을 주면 이미 폴더가 존재해도 오류를 내지 않고 넘어갑니다.import os# 현재 경로에서 a폴더, 그 하위에 b폴더, 그 하위에 log폴더 생성os.makedirs('./a/b/log', exist_ok=True)경로 합치는 함수파일 경로를 합치는 함수로는 os.path.join() 함수를 사용합니다. 이 함수는 운영체제에 맞게 경로를 연결해줍니다.import osoutput_folder_path = './output'file_name = 'result.txt'# 경로와 파일명을 합쳐서 전체 경로 생성full_path = os.path.join(..
2024. 5. 28.