2012-02-07 5 views

답변

3

:

# Delete everything reachable from the directory named in "top", 
# assuming there are no symbolic links. 
# CAUTION: This is dangerous! For example, if top == '/', it 
# could delete all your disk files. 
import os 
for root, dirs, files in os.walk(top, topdown=False): 
    for name in files: 
     os.remove(os.path.join(root, name)) 
+0

감사합니다. 난 그냥 내 질문에 조금 추가 : 시스템/숨김 파일이 보존되어 있는지 확인하고 싶습니다. 코드를 변경하려면 어떻게해야합니까? 감사합니다. – user18115

+1

그런 다음'os.path.join (root, name)'에 대한 검사를 수행하여 보존 기준을 충족시키지 못하도록합니다. 아마도''stat' '(http : //docs.python .org/library/stat.html) 또는'string' 비교를 사용하는 것이 좋습니다. 이것은 전적으로 코드 작성자의 책임입니다! – Johnsyweb

+0

알았어 파일이 시스템/숨김 파일인지 확인하는 방법은 무엇입니까? – user18115

1

os.walk를 참조하십시오 뻔뻔하게 생략 디렉토리의 제거와 Files and Directories에 파이썬 문서에서 도난

import os 
top = '/some/dir' 
for root, dirs, files in os.walk(top): 
    for name in files: 
     os.remove(os.path.join(root, name)) 
1
import os 

#check if file is hidden 
def is_hidden(filepath): 
    name = os.path.basename(os.path.abspath(filepath)) 
    return name.startswith('.') 

top = '/dir' 
for root, dirs, files in os.walk(top): 
    for name in files: 
     #do not delete hidden files (as asked by OP in comments) 
     if is_hidden(name) == false: 
      os.remove(os.path.join(root, name)) 
+1

바람직하게는 코드의 벽 이외에도 몇 가지 설명이나 링크 또는 * something *을 제공해야합니다. – John

관련 문제