python의 폴더 반복 통계 모든 파일 크기 귀속 및 순환 두 가지 해법
4983 단어 Python
귀속해
역귀해 문제의 사고방식은 별다른 것이 없고 코드는 특히 간결하고 이해하기 쉽다.하나의 디렉터리를 옮겨다니며 모든 파일의 크기를 누적하고, 하위 디렉터리에 대해서는 자신의 귀속 통계 하위 디렉터리를 호출합니다.
주의해야 할 것은 두 가지다.
1. 경로 쓰기는'/'를 강력히 권장합니다. 이런 쓰기는 윈도우즈 시스템과 linux 시스템에서 통용됩니다.
2. 파일과 경로 연결 방법,time 테스트를 통해 f 문자열 연결 방식을 os에 비유한다.path.join () 방식은 조립 효율이 약간 높고 쓰기도 간결하다.import os
def getdir1(path):
name_list = os.listdir(path)
size = 0
for i in name_list:
j = f'{path}/{i}' # +
# j = os.path.join(path,i)
if os.path.isdir(j):
size += getdir1(j)
else:
size += os.path.getsize(j)
return size
print(getdir1('D:/ '))
out:
304372584432
순환해
문제를 순환적으로 푸는 사고방식은 다음과 같은 두 가지를 주의해야 한다.
1. 목록의 팝과 append에 대한 사용법은 실제적으로 목록을 창고로 사용하고 후진이 먼저 나온다.
2.while name 주의dir의 작법, 이것은 판단namedir 목록이 비어 있는지 여부입니다. 비어 있으면 순환을 끝내고, 비어 있지 않으면 순환을 끝냅니다.def getdir2(path):
size = 0
name_dir = [path]
while name_dir:
name_list = os.listdir(ret := name_dir.pop())
for i in name_list:
j = f'{ret}/{i}'
if os.path.isfile(j):
size += os.path.getsize(j)
else:
name_dir.append(j)
return size
print(getdir2('D:/ '))
out:
304372584432
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보
그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성
같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
import os
def getdir1(path):
name_list = os.listdir(path)
size = 0
for i in name_list:
j = f'{path}/{i}' # +
# j = os.path.join(path,i)
if os.path.isdir(j):
size += getdir1(j)
else:
size += os.path.getsize(j)
return size
print(getdir1('D:/ '))
out:
304372584432
문제를 순환적으로 푸는 사고방식은 다음과 같은 두 가지를 주의해야 한다.
1. 목록의 팝과 append에 대한 사용법은 실제적으로 목록을 창고로 사용하고 후진이 먼저 나온다.
2.while name 주의dir의 작법, 이것은 판단namedir 목록이 비어 있는지 여부입니다. 비어 있으면 순환을 끝내고, 비어 있지 않으면 순환을 끝냅니다.
def getdir2(path):
size = 0
name_dir = [path]
while name_dir:
name_list = os.listdir(ret := name_dir.pop())
for i in name_list:
j = f'{ret}/{i}'
if os.path.isfile(j):
size += os.path.getsize(j)
else:
name_dir.append(j)
return size
print(getdir2('D:/ '))
out:
304372584432
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.