亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用python中的datetime模塊動態更新日期?

如何使用python中的datetime模塊動態更新日期?

米脂 2023-03-22 16:53:11
我是 python 的初學者,我正在嘗試創建一個自動備份我的文件的程序。我正在使用 shutil 制作檔案和 apscheduller 來安排備份。我想按日期命名我的備份文件,所以我使用 datetime 來獲取當前日期和時間。我在 StartUp 文件夾中有腳本,以便它在啟動時運行。這是我的代碼:now = datetime.now()date = now.strftime("%Y-%m-%d_%H-%M-%S")backup_dir = r'path/to/backups/folder/' + date + 'docs_backup'root_dir = r'C:/Users/user/'base_dir = r'documents'#This is to make the backup when the computer starts.shutil.make_archive(    backup_dir,    'zip',    root_dir,    base_dir)@sched.scheduled_job('interval', hours=1)def zip_method():     #Make the backup archive every one hour     shutil.make_archive(     backup_dir,     'zip',     root_dir,     base_dir)     print(date)     print("I did a backup!")sched.start()這里的問題是日期變量被聲明一次,所以每個每小時的備份都會有一個過時的名稱。每次創建新存檔時,有什么辦法可以為日期變量分配一個新值嗎?
查看完整描述

2 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

將文件生成名稱制作成一個函數,以便您可以隨時隨地調用它,如下所示。


ROOT_DIR = r'C:/Users/user/'

BASE_DIR = r'documents'

BACKUP_DIR = r'path/to/backups/folder/'

BACKUP_SUFFIX = 'docs_backup'



def make_backup_path():

    now = datetime.now()

    date = now.strftime("%Y-%m-%d_%H-%M-%S")

    backup_path = BACKUP_DIR + date + BACKUP_SUFFIX

    return backup_path



@sched.scheduled_job('interval', hours=1)

def zip_method():

     #Make the backup archive every one hour

     shutil.make_archive(

     make_backup_path(),

     'zip',

     ROOT_DIR,

     BASE_DIR)

     print(date)

     print("I did a backup!")


#This is to make the backup when the computer starts.

shutil.make_archive(

    make_backup_path(),

    'zip',

    ROOT_DIR,

    BASE_DIR)


sched.start()


查看完整回答
反對 回復 2023-03-22
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

考慮查找本地和全球范圍。如果將創建日期的代碼部分放在函數中,它會在每次調用時創建一個新日期。


#This is to make the backup when the computer starts.

shutil.make_archive(

    backup_dir,

    'zip',

    root_dir,

    base_dir)


@sched.scheduled_job('interval', hours=1)

def zip_method():

    # Establish the key variables

    now = datetime.now()

    date = now.strftime("%Y-%m-%d_%H-%M-%S")

    backup_dir = r'path/to/backups/folder/' + date + 'docs_backup'

    root_dir = r'C:/Users/user/'

    base_dir = r'documents'



     #Make the backup archive every one hour

     shutil.make_archive(

     backup_dir,

     'zip',

     root_dir,

     base_dir)

     print(date)

     print("I did a backup!")


sched.start()


查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號