2016-05-11 9 views
0

私は、常に増加しているWebカメラ画像を持つディレクトリを持っています。最新の10枚の画像を取得するためにPythonスクリプトを使用したいと思います。現在、私は最新の画像を取得するための次のコードを持っています。ファイル名を減らして最新の10枚の画像を取得し、image_current1.jpgからimage_current10.jpgに名前を付けたいと思います。どのように私はpythonでファイル名を減らすことができますか?

import os 
import glob 

from PIL import Image 
from shutil import copyfile 

# variables 
rawFileDir = 'C:\pictures\image00*.jpg' 
mriFileName = 'C:\pictures\image_current1.jpg' 

# obtain and copy most recent image 
mostRecentImage = max(glob.iglob(rawFileDir), key=os.path.getctime) 
copyfile(mostRecentImage,mriFileName) 
+0

'imgs = glob.glob( 'C:\ pictures \ image * .jpg')'はすべての画像のリストを作成します。次に、この 'imgs [-10:]'のように最後の10個の要素にアクセスできます – incBrain

答えて

0

これは、希望のファイル名(image_current01.jpgなど)とターゲットファイルの辞書を提供します。

{'image_current' + str(n).zfill(1): filename 
for n, filename in enumerate(sorted((os.path.getctime(f), f) 
for f in glob.glob('*.jpg'))[-10::][::-1])} 
1

あなたはglob.iglob(rawFileDir)からソートされたリストを使用することができます。

import os 
import glob 

from PIL import Image 
from shutil import copyfile 

# variables 
rawFileDir = 'E:\Test\image00*.jpg' 
mriFileName = 'E:\Test\image_current' 

# obtain and copy most recent image 
mostRecentImage = sorted(glob.iglob(rawFileDir), key=os.path.getctime) 
for num, i in enumerate(mostRecentImage[:~10:-1]): 
    exec('copyfile(i, mriFileName + str({}) + ".jpg")'.format(num + 1)) 

image_current1.jpgは、最新のファイルになります。

関連する問題