어려울 수는 없지만 정신적 장애가 있습니다.
답변
import os
os.listdir("path") # returns list
답변
일방 통행:
import os
os.listdir("/home/username/www/")
다른 방법 :
glob.glob("/home/username/www/*")
glob.glob
위 의 방법은 숨겨진 파일을 나열하지 않습니다.
원래 몇 년 전에이 질문에 대답 했으므로 pathlib 가 Python에 추가되었습니다. 디렉토리를 나열하는 선호하는 방법은 일반적 iterdir
으로 Path
객체에 대한 메소드와 관련이 있습니다.
from pathlib import Path
print(*Path("/home/username/www/").iterdir(), sep="\n")
답변
os.walk
재귀가 필요한 경우 사용할 수 있습니다.
import os
start_path = '.' # current directory
for path,dirs,files in os.walk(start_path):
for filename in files:
print os.path.join(path,filename)
답변
glob.glob
아니면 os.listdir
할 것입니다.
답변
os
모듈 핸들 모든 물건.
os.listdir(path)
경로로 주어진 디렉토리에있는 항목의 이름을 포함하는 목록을 리턴하십시오. 목록은 임의의 순서입니다. 특수 항목 ‘.’은 포함되지 않습니다. 그리고 디렉토리에 존재하더라도 ‘..’.
가용성 : 유닉스, Windows.
답변
Python 3.4 이상에서는 새로운 pathlib
패키지를 사용할 수 있습니다 .
from pathlib import Path
for path in Path('.').iterdir():
print(path)
Path.iterdir()
이터레이터를 반환합니다 list
.
contents = list(Path('.').iterdir())
답변
Python 3.5부터 사용할 수 있습니다 os.scandir
.
차이점은 이름이 아닌 파일 항목을 반환한다는 것 입니다. Windows와 같은 일부 OS os.path.isdir/file
에서는 파일인지 여부를 알 필요가 없으며 stat
Windows에서 dir을 스캔 할 때 이미 수행되었으므로 CPU 시간이 절약 됩니다.
디렉토리를 나열하고 max_value
바이트 보다 큰 파일을 인쇄하는 예 :
for dentry in os.scandir("/path/to/dir"):
if dentry.stat().st_size > max_value:
print("{} is biiiig".format(dentry.name))
( 여기 에서 광범위한 성능 기반 답변을 읽으 십시오 )
