Programing

Python : 디렉토리에서 확장자가 .MP3 인 최신 파일 찾기

lottogame 2020. 12. 30. 07:40
반응형

Python : 디렉토리에서 확장자가 .MP3 인 최신 파일 찾기


파이썬에서 특정 유형의 가장 최근에 수정 된 (여기서부터 '최신') 파일을 찾으려고합니다. 현재 최신 버전을 얻을 수 있지만 어떤 유형이든 상관 없습니다. 최신 MP3 파일 만 받고 싶습니다.

현재 나는 :

import os

newest = max(os.listdir('.'), key = os.path.getctime)
print newest

최신 MP3 파일 만 제공하도록 수정하는 방법이 있습니까?


glob.glob 사용 :

import os
import glob
newest = max(glob.iglob('*.[Mm][Pp]3'), key=os.path.getctime)

os를 가져오고 경로를 정의했다고 가정하면 다음과 같이 작동합니다.

dated_files = [(os.path.getmtime(fn), os.path.basename(fn)) 
               for fn in os.listdir(path) if fn.lower().endswith('.mp3')]
dated_files.sort()
dated_files.reverse()
newest = dated_files[0][1]
print(newest)

이 사람을 시도해보십시오.

import os
print max([f for f in os.listdir('.') if f.lower().endswith('.mp3')], key=os.path.getctime)

여기에서 학습 목적으로 내 코드는 기본적으로 @Kevin Vincent와 동일하지만 간결하지는 않지만 읽고 이해하는 것이 좋습니다.

import datetime
import glob
import os

mp3Dir = "C:/mp3Dir/"
filesInmp3dir = os.listdir(mp3Dir)

datedFiles = []
for currentFile in filesInmp3dir:
    if currentFile.lower().endswith('.mp3'):
        currentFileCreationDateInSeconds = os.path.getmtime(mp3Dir + "/" + currentFile)
        currentFileCreationDateDateObject = datetime.date.fromtimestamp(currentFileCreationDateInSeconds)
        datedFiles.append([currentFileCreationDateDateObject, currentFile])
        datedFiles.sort();
        datedFiles.reverse();

print datedFiles
latest = datedFiles[0][1]
print "Latest file is: " + latest

for file in os.listdir(os.getcwd()):
    if file.endswith(".mp3"):
        print "",file
        newest = max(file , key = os.path.getctime)
        print "Recently modified Docs",newest

참조 URL : https://stackoverflow.com/questions/18279063/python-find-newest-file-with-mp3-extension-in-directory

반응형