Python은 특정 경로 아래의 파일 및 폴더 삭제를 구현합니다.

不言
풀어 주다: 2018-04-24 13:43:37
원래의
5283명이 탐색했습니다.

다음은 Python을 사용하여 특정 경로에 있는 파일과 폴더를 삭제하는 방법에 대한 예입니다. 좋은 참조 값이 있으며 모든 사람에게 도움이 되기를 바랍니다. 함께 살펴보겠습니다

Python은 특정 경로에 있는 파일과 폴더를 삭제하는 스크립트를 구현합니다

#!/usr/bin/env python
import os
import shutil
delList = []
delDir = "/home/test"
delList = os.listdir(delDir )
for f in delList:
  filePath = os.path.join( delDir, f )
  if os.path.isfile(filePath):
    os.remove(filePath)
    print filePath + " was removed!"
  elif os.path.isdir(filePath):
  shutil.rmtree(filePath,True)
    print "Directory: " + filePath +" was removed!"
로그인 후 복사

shutil은 고급 파일 작업 모듈입니다. True 매개변수는ignore_errors(복사 중 오류 무시)를 나타냅니다.

고수준 API와 유사하며 주요 장점은 파일 복사 및 삭제 작업을 더 잘 지원한다는 것입니다.

[첨부] os 모듈(라이브러리) 활용

폴더, 파일 검색, 삭제 등의 기능은 os 모듈에서 구현됩니다.

1. 현재 디렉터리 가져오기

#1.1
s = os.getcwd()
# s 中保存的是当前的执行目录(即执行所在的文件夹)
로그인 후 복사

[참고]

프로그램이 실행 중인 현재 디렉터리의 위치를 ​​가져오려면 os를 사용하면 됩니다. os 모듈 함수의 getcwd().

현재 실행 중인 스크립트의 디렉터리 위치를 얻으려면 sys.path[0] 변수 또는 sys 모듈의 sys.argv[0]을 사용하여

#1.2
import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
os.makedirs(r'%s/%s'%(os.getcwd(),folder))
로그인 후 복사

을 가져와야 합니다. 2. 현재 디렉터리를 변경합니다

os.chdir( "/root/123")
#将当前目录设为 "/root/123"
#说明: 当指定的目录不存在时,引发异常。
로그인 후 복사

3 경로 이름을 디렉터리 이름과 파일 이름

fpath , fname = os.path.split( "你要分解的路径")
로그인 후 복사

예:

a, b = os.path.split( "/root/123/test.txt" )
print a
print b
로그인 후 복사

표시: ​​

/root/123/
test.txt
로그인 후 복사

4. 파일 이름 확장자

fpathandname , fext = os.path.splitext( "你要分解的路径")
로그인 후 복사

예:

a, b = os.path.splitext( "/root/123/test.txt" )
print a
print b
로그인 후 복사

디스플레이:

/root/123/test
.txt
로그인 후 복사

5. 1번 판단 경로(디렉토리 또는 파일) 존재 여부

b = os.path.exists( "你要判断的路径")
로그인 후 복사

반환값 b: True 또는 False

6. 경로가 파일인지 판단

b = os.path.isfile( "你要判断的路径")
로그인 후 복사

반환 값 b: True 또는 False

7. 경로가 디렉터리인지 확인

b = os.path.isdir( "你要判断的路径")
로그인 후 복사

반환 값 b: True 또는 False

8. 디렉토리

L = os.listdir( "你要判断的路径")
로그인 후 복사

예:

L = os.listdir( "/root/123" )
print L
로그인 후 복사

디스플레이:

[‘test.txt', ‘test.py','python']
#这里面既有文件也有子目录
로그인 후 복사

9. 하위 디렉터리 만들기

os.makedirs( path )  # path 是"要创建的子目录"
로그인 후 복사

예:

os.makedirs("/root/123")
로그인 후 복사

통화가 실패할 수 있는 이유는 다음과 같습니다.

(1) 경로가 이미 존재하는 경우(파일이든 폴더이든)

( 2) 드라이브가 존재하지 않습니다

(3) 디스크가 꽉 찼습니다.

(4) 디스크가 읽기 전용이거나 쓰기 권한이 없습니다

10. 하위 디렉터리 삭제

os.rmdir( 경로 ) # 경로: "삭제할 하위 디렉터리"

예외 가능 이유:

(1) 경로가 존재하지 않음

(2) 경로 하위 디렉터리에 파일 또는 하위 하위 디렉터리가 있음

(3) 작업 권한 없음 또는 읽기 전용

11. 파일 삭제

os.remove(  filename )  # filename: "要删除的文件名"
로그인 후 복사

예외의 가능한 이유:

(1) 파일 이름이 존재하지 않습니다

(2) 작업 권한이 없거나 읽기 전용입니다. 파일 이름 파일에 액세스합니다.

12.파일 이름 바꾸기

os.name( oldfileName, newFilename)
로그인 후 복사

예외 이유:

(1) oldfilename 이전 파일 이름이 존재하지 않습니다

(2) newFilename 새 파일이 이미 존재하는 경우 , 이때 먼저 newFilename 파일을 삭제해야 합니다.

관련 권장 사항:

python 지정된 시간 간격 이전에 파일 삭제

zip 파일 압축 풀기 및 python_python

에서 파일 삭제의 예

위 내용은 Python은 특정 경로 아래의 파일 및 폴더 삭제를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿