이전 모듈에서 요약한 일부 기능은 파일 및 디렉터리에 대한 고급 작업을 지원합니다. 이 섹션에서는 이러한 기능을 사용하는 방법을 소개합니다.
파일이나 디렉터리를 사용할 때 항상 이름 바꾸기 작업과 분리할 수 없습니다. 때로는 덮어쓰기를 직접 생성하도록 선택할 수도 있지만, 기존 파일에 많은 양의 정보가 저장되어 있는 경우에는 작업 의 이름을 바꿔야 합니다. os 모듈의 .rename() 메소드를 사용하면 Pycharm을 사용하는 학생은 Pyacharm에서 파일 이름을 수동으로 바꾸는 이름도 rename임을 알 수 있습니다.
os.이름 바꾸기(src,dst)
src는 변경된 파일 또는 디렉터리 이름이고 dst는 새 이름입니다.
다음 예를 살펴보십시오.
먼저 폴더를 만듭니다.
importosprint(os.getcwd())#현재 디렉터리를 알 수 없는 경우 현재 디렉터리를 먼저 출력합니다. os.mkdir(r'C:UsersQingyanPycharmProjectsuntitled1teachnew')# 이 r에 주의하세요. t,n과 같은 내용이 있으면 앞에 r을 추가하세요.
그런 다음 이름 바꾸기 작업을 수행합니다.
importosos.rename(r'C:UsersQingyanPycharmProjectsuntitled1teachnew',r'C:UsersQingyanPycharmProjectsuntitled1teachnewname')
우리는 모두 이름을 바꿀 때 절대 경로를 사용합니다. 이 방법은 앞에 'r'을 추가하는 것이 더 좋습니다. 'r'은 이전에 배웠으므로 여기서는 파일 이름 바꾸기와 같은 방법으로 설명하지 않겠습니다. 디렉토리에서 접미사에만 주의하세요.
파일을 삭제할 때 os 모듈의 os.remove() 함수를 사용합니다. 구문 형식은 다음과 같습니다.
os.remove(경로)
Path는 삭제하려는 파일의 경로입니다. 상대 경로나 절대 경로를 사용할 수 있습니다. 삭제해야 하는 파일이 현재 경로에 없는 경우 절대 경로를 사용하는 것이 엄격하게 사용됩니다. 작업 디렉토리에서는 예외가 발생합니다.
아래 코드를 보세요:
실행 후:
현재 디렉터리에 있는 두 개의 파일을 삭제하기 위해 절대 경로와 상대 경로를 사용했습니다. 현재 디렉터리가 아닌 파일을 삭제하기 위해 상대 경로를 사용하면 어떻게 될까요?
코드는 다음과 같습니다:
importosos.remove('tst.py')
실행 결과:
Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled1/teach/test.py,line2,in<module>os.remove('tst.py')FileNotFoundError:[WinError2]시스템이 지정된 문서를 찾을 수 없습니다. . :'tst.py'
따라서 파일을 삭제할 때는 절대 경로를 사용하는 것이 가장 좋습니다.
importosos.remove(r'C:UsersQingyanPycharmProjectsuntitled1venvtst.py')
마지막 변경 시간이나 파일 크기 등 현재 파일에 대한 일부 정보를 얻기 위해 프로그램을 사용해야 하는 경우가 많습니다.
관련 정보를 얻기 위해 os 모듈의 os.stat() 메소드를 사용합니다.
예제를 통해 이 방법을 직접 사용하는 방법을 알아보겠습니다.
importosfile=os.stat('test.py')print(os.path.abspath('test.py'))#액세스 경로 먼저 인쇄(file.st_dev)#장치 번호 인쇄(file.st_size)#파일 크기 인쇄 (file.st_atime)#마지막 접근 인쇄(file.st_mtime)#마지막 수정 시간
출력은 다음과 같습니다
C:UsersQingyanPycharmProjectsuntitled1teachtest.py10109555972391580789484.6353131580789484.635313
이는 파일 및 디렉토리의 관련 작업에 관한 것입니다. C, C++ 또는 Java 언어를 사용하더라도 프로젝트 개발은 파일 및 디렉토리 관리와 분리될 수 없습니다. 운영은 향후 연구에 큰 도움이 될 것입니다.