質問

I am trying to make that every screenshot file end with a date. It does work, but the problem is that when i take a new screenshot, its always the same date.

Heres the code

class ScrShot(object):    
    def Screenie(self):
            file_name = Filename('WFT-ScreenShot-'+str(date)+'.jpg')
            base.win.saveScreenshot(file_name) 
            print ':debug: screenshot taken!'
            print ':debug: screenshot saved as ', file_name ,''

instance = ScrShot()

base.accept('f9', instance.Screenie)

and heres the variable used:

###########################################
#time
date = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S')
###########################################

Plus, something from the log:

:debug: screenshot taken!
:debug: screenshot saved as  WFT-ScreenShot-2013-12-24-18-46-04.jpg
:debug: screenshot taken!
:debug: screenshot saved as  WFT-ScreenShot-2013-12-24-18-46-04.jpg
:debug: screenshot taken!
:debug: screenshot saved as  WFT-ScreenShot-2013-12-24-18-46-04.jpg

Now, any another method to update the date?

EDIT: It did fix the problem, but i also wanted to save in a external folder. Is there a way to do it?

正しい解決策はありません

他のヒント

Replace your class with:

class ScrShot(object):    
    def Screenie(self):
        file_name = Filename('WFT-ScreenShot-'+str(datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S'))+'.jpg')
        base.win.saveScreenshot(file_name) 
        print ':debug: screenshot taken!'
        print ':debug: screenshot saved as ', file_name ,''

It outputs all the same date because you assigned date only once. It dosesn't update automatically when you use date. You have to call now() everytime when you want to get a new date.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top