본문 바로가기

Python/그 외3

여러 파일의 이름을 한 번에 변경하기(os.listdir / os.rename) 디렉토리에 긴 이름들을 가진 파일들이 있다. 필자는 이 파일들을 1.png, 2.png 이런 식으로 바꾸기를 원했고 또한 하나하나 바꾸는 것이 아니라 한 번에 바꾸기를 원했다. 검색을 해봤더니 역시나 하는 방법이 있었다. os의 listdir 함수와 rename 함수를 이용하면 된다. 먼저 한 번에 변경하기 위해 listdir 함수로 파일들을 불러온다. listdir 함수에 디렉토리 경로를 넣어주면 해당 디렉토리에 있는 파일들을 list 형태로 반환한다. 이들을 os의 rename 함수를 이용해 이름을 변경한다. 이렇게 해주면 끝이다. os.rename에는 기존 파일명과 변경하고자 하는 파일명을 입력값으로 넣어주면 된다. before_name과 after_name에서 os.path.join을 사용했는데,.. 2021. 8. 9.
문자열 포함 여부 확인하기(find(), in, not in) 문자열 중에서 자신이 원하는 문자열이 있는지 확인해야 할 때가 있다. 물론 확인해야 하는 문자열 갯수가 적고 길이까지 짧다면 직접 확인이 가능하겠지만, 일을 하다 보면 그런 경우는 거의 없다. 이러한 경우에 어떻게 하는지 알아보자. (1) find 함수 이용 : 첫 번째 방법은 find 함수를 이용하는 것이다. 바로 예제로 이해해보자. 이렇게 find 함수에 내가 찾기를 원하는 문자열을 넣어주면, 해당 문자열이 있는 경우 해당 문자열이 있는 index값을 반환한다. text 변수에서 10번째 index가 P00H의 P이기 때문에 10을 반환한 것이다. 그럼 내가 찾기를 원하는 문자열이 없는 경우는 어떨까? 이 경우는 -1을 반환한다. text 변수에 PIGLET이라는 문자열이 없으므로 -1을 반환했다. .. 2021. 8. 5.
for문으로 동적 변수 생성하기 일을 하다 보면, 여러 변수를 생성해야 될 일이 있다. 특히 비슷한 내용들인 경우 같은 변수에 숫자만 추가하여 생성하는 경우가 있다. 변수가 적은 경우는 상관없는데, 변수가 엄청 많은 경우 이렇게 일일이 생성하는 것은 너무 비효율적이다. 이럴 때는 반복문을 통해 변수를 생성해주는 것이 좋다. 이렇게 하나하나 생성할 수도 있지만 반복문을 통해 변수를 생성해보도록 하자. 아래처럼 globals()를 이용하면 된다. 똑같이 변수를 print해보면 잘 생성된 것을 확인할 수 있다. 만약, 변수에 숫자가 여러 개인 경우는 어떻게 할까? 간단하다. 그냥 추가해주면 된다. 이렇게 변수에 숫자가 2개씩 있다. 하지만, 규칙만 발견할 수 있다면 아까처럼 반복문으로 변수를 생성할 수 있다. 이렇게 해주면 끝이다. list.. 2021. 7. 23.