2013-12-24 3 views
0

Я пытаюсь сделать, чтобы каждый файл скриншота заканчивался датой. Это действительно работает, но проблема в том, что когда я снимаю новый снимок экрана, его всегда одна и та же дата.Panda3D - Дата установки

Heres код

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) 

и Heres переменная используется:

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

Плюс, что-то из журнала:

: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 

Теперь любой другой метод обновления даты ?

EDIT: Это устранило проблему, но я также хотел сохранить ее во внешней папке. Есть ли способ сделать это?

+0

Вы можете сохранить во внешнюю папку, добавив соответствующий путь к переданному имени файла. Например, Filename ('/ c/path/to/WFT-Screenshot' + ...) – rdb

ответ

2

Замените свой класс с:

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 ,'' 

Он выдает все ту же дату, потому что вы назначили date только один раз. Он не обновляется автоматически, когда вы используете date. Вы должны позвонить now()каждый раз, если вы хотите получить новую дату.

Смежные вопросы