2017-11-05 5 views
0

코드를 단축하고 싶습니다. 지금까지 내 모든 파일에서 : 좋은 작품다른 디렉터리가있는 파일 제거 [코드가 짧아 지도록 같은 폴더가 아닙니다]

try: 
    os.remove("C:\1A.csv") 
except OSError: 
    pass 
try: 
    os.remove("C:\2A.csv") 
except OSError: 
    pass 
#etc,, 

을하지만 긴 코드를 작성

C:\1A.csv 
C:\2A.csv 
C:\3\3A.csv 
C:\4\4A.csv 
C:\5\5A.csv 
C:\6\6A.csv 
C:\7\7A.csv 
C:\8\8A.csv 
C:\9\9A.csv 
C:\10\10A.csv 
C:\11\11A.csv 
C:\12\12A.csv 

나는 있습니다.

다음은 또한 좋은 작품 :

del_list = ['file1.csv', 'file2.csv', 'file3.csv']; 

for fd in del_list: 
    try: 
     os.remove(os.path.join(my_dir, fd)) 
    except OSError: 
     pass 

을이 하나 개의 폴더에 일반적으로 제한되어 있지만.

답변

1

python3.5 +부터 시작하여 glob을 사용하고 디렉토리를 재귀 적으로 탐색 할 수 있습니다.

root = os.getcwd() 
for file in glob.glob('*/**/*.csv'): 
    try: 
     os.remove(os.path.join(root, file)) 
    except OSError: 
     ... 
+0

예 : C : \ 1A.csv, C : \ 2A.csv에 어떻게 적용 할 수 있습니까? 모든 CSV 파일을 제거하려고한다고 가정합니다. 나는 다른 모든 중요한 csv 파일을 다른 곳에서 제거해야한다고 생각합니다. –

+0

@DallasClov 깊이가 고정되어 있으면'*/*/*. csv' (깊이가 2 인 경우) 등을 사용할 수 있습니다. –

+0

나를 위해 그 ' CSV 파일을 삭제하는 것 같습니다. 예 : C : \ W1 \ 9 \ P \ 1 B 삭제되지 않은 CSV 파일이 있습니다. –