포스트

너무 긴 파일 경로를 가진 파일들 찾기 (python 코드)

Windows에서는 파일 경로의 길이 제한이 있다. 그래서 직접 만든 패키지를 가져다가 쓸 때, cache 디렉토리에 저장되는데 그 디렉토리부터가 경로가 길기 때문에 파일명들은 되도록이면 짧게 해야 한다.

어떤 폴더 혹은 파일명이 그렇게 길게 되어 있는지 에러 나기 전까지는 모르기 때문에, 직접 검사하는 python 코드를 만들었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
## check_long_filenames.py

import os

# Windows 경로 제한
MAX_PATH_LENGTH = 180

# 결과를 저장할 파일
output_file = "filenames_too_long.txt"

def find_long_filenames(start_dir):
    long_filenames = []

    for root, _, files in os.walk(start_dir):
        for file in files:
            full_path = os.path.join(root, file)
            if len(full_path) >= MAX_PATH_LENGTH:
                long_filenames.append(full_path)

    return long_filenames

if __name__ == "__main__":
    # 현재 디렉토리를 기준으로 검사
    current_directory = os.getcwd()
    long_filenames = find_long_filenames(current_directory)

    if long_filenames:
        with open(output_file, "w", encoding="utf-8") as f:
            f.write("\n".join(long_filenames))
        print(f"총 {len(long_filenames)}개의 긴 파일 경로를 찾았습니다.")
        print(f"결과는 '{output_file}' 파일에 저장되었습니다.")
    else:
        print("긴 파일 경로가 없습니다.")

filenames_too_long.txt 에 기록되고,

1
python check_long_filenames.py

로 실행한다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.