>백엔드 개발 >파이썬 튜토리얼 >`os.listdir()`이 반환하는 파일 순서가 일관되지 않은 이유는 무엇입니까?

`os.listdir()`이 반환하는 파일 순서가 일관되지 않은 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-09 22:25:02789검색

Why is the order of files returned by `os.listdir()` inconsistent?

os.listdir()의 영숫자 순서 문제

os.listdir()을 사용하여 Python에서 디렉터리 작업을 할 때 사용자가 예상치 못한 문제에 직면할 수 있습니다. 하위 디렉토리의 목록 순서. 한때 영숫자였던 기본 순서는 이제 일관성이 없고 무의미해 보입니다. 이 문서에서는 이러한 목록의 표시 순서를 결정하는 요소를 조사합니다.

문제:

run01~run20이라는 하위 디렉터리가 포함된 디렉터리에서 os.listdir(os.getcwd ())는 다음과 같은 순서로 목록을 반환합니다. as:

['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ...]

해결책:

os.listdir()이 검색한 목록의 순서는 sorted()를 사용하여 조작할 수 있습니다. 목록을 영숫자순으로 정렬하려면 다음을 사용하세요.

sorted(os.listdir(whatever_directory))

또는 목록 자체의 .sort() 메서드를 사용하세요.

lst = os.listdir(whatever_directory)
lst.sort()

참고: 원본 os.listdir()이 반환하는 파일 이름의 순서는 기본 파일 시스템에 의해 결정되며 시스템마다 다를 수 있습니다.

위 내용은 `os.listdir()`이 반환하는 파일 순서가 일관되지 않은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.