copy 3

python :: 파이썬 딕셔너리 복사(copy) 후 수정사항 반영되지 않도록 하기(deepcopy)

다음과 같이 정의된 A 딕셔너리를 복사하여 B 딕셔너리를 만들었다. A = {'name': 'toram', 'lotto': [1, 2, 3, 4, 5, 6]} B = {k:v for k, v in A.items()} 이 때, 새로 생성한 B['lotto'] 의 내용을 수정했더니 기존 딕셔너리(A)에도 동일하게 반영되었다. B['lotto'][2] = 20 print(B['lotto']) # [1, 2, 20, 4, 5, 6] print(A['lotto']) # [1, 2, 20, 4, 5, 6] 아예 새로 정의하여 별개의 딕셔너리라고 생각했는데, 수정사항이 반영된 걸 보니 당황했다 @.@ 구글링을 통해 여러 가지 방법을 시도해봤지만 모두 실패했다. # 1차시도 B = A # 2차시도 B = A.copy(..

:: python 2022.11.21

python :: shutil.copy 리눅스 네트워크 드라이브로 파일 복사 시 WinError 해결

파이썬 스크립트를 작성, 실행하여 로컬(Windows) -> 네트워크 드라이브(Z:)(Linux) 로 파일을 복사할 때 shutil.copy 부분에서 다음과 같은 에러가 나는 경우가 있다. [WinError 5] 액세스가 거부되었습니다: 'Z:\\..' [WinError 3] 지정된 경로를 찾을 수 없습니다: 'Z:\\' 확인해보니 실제 파일은 성공적으로 복사가 되어 있는데도 shutil.copy 부분에서 에러가 발생하는 경우가 나타났다. 1. 권한 설정 살펴보기 이럴 땐 우선 권한 설정을 살펴보아야 한다. [WinError 5] 액세스가 거부되었습니다 위 에러는 권한 문제가 있을 때 발생한다. 폴더의 보안 설정을 확인해보거나, 파이썬 스크립트 실행 시 cmd 를 관리자(Administrator) 권한으..

:: python 2021.12.30

python :: 파이썬 파일 복사 shutil.copy 속도 빠르게 향상시키기

파이썬에서 파일을 복사할 때 shutil 라이브러리의 copy, copyfile 등의 함수를 많이 사용한다. 그런데 파일 복사 속도가 꽤 느린 편이다^.^; shutil 라이브러리 파일에서 copy 함수들을 보면 궁극적으로 copyfileobj 함수를 호출하게 되어 있다. def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: buf = fsrc.read(length) if not buf: break fdst.write(buf) copyfileobj 함수는 이렇게 정의되어있다. 주목해야 할 부분은 length=16*1024 즉, 파일 전송 시 ..

:: python 2021.06.17
300x250