将文件名保存为"日期 - 备份"

时间:2017-07-25 03:39:53

标签: python datetime

我目前正在将Bigquery的表格导出到G.C.S作为另一种备份形式。这是我到目前为止的代码,它将文件名保存为" firebase_connectioninfo.csv"。

# Export table to GCS as a CSV

data = 'dataworks-356fa'
destination = 'gs://firebase_results/firebase_backups1/Firebase_ConnectionInfo.csv'

def export_data_to_gcs(data, Firebase_ConnectionInfo, destination):
    bigquery_client = bigquery.Client(data)
    dataset = bigquery_client.dataset('FirebaseArchive')
    table = dataset.table('Firebase_ConnectionInfo')
    job_name = str(uuid.uuid4())

    job = bigquery_client.extract_table_to_storage(
        job_name, table, 'gs://firebase_results/firebase_backups1/Firebase_ConnectionInfo.csv')
    job.source_format = 'CSV'

    job.begin()

    wait_for_job(job)

def wait_for_job(job):
    while True:
        job.reload()
        if job.state == 'DONE':
            if job.error_result:
                raise RuntimeError(job.errors)
            return
        time.sleep(1)

export_data_to_gcs(data, 'Firebase_ConnectionInfo', destination)

我希望将此文件命名为" thedate_firebase_connectioninfo_backup"。如何在Python脚本中添加此命令?

2 个答案:

答案 0 :(得分:2)

所以这是你的字符串:

gs://firebase_results/firebase_backups1/Firebase_ConnectionInfo.csv'

我建议将其放入自己的变量中:

filename = 'gs://firebase_results/firebase_backups1/Firebase_ConnectionInfo.csv'

另外,我们应该为这个日期添加一个位置。我们可以通过几种不同的方式处理字符串格式,但这是我首选的方法:

filename = 'gs://firebase_results/firebase_backups1/{date}-Firebase_ConnectionInfo.csv'

然后,我们可以使用以下日期在format()上致电filename

from datetime import datetime
date = datetime.now().strftime("%M-%D-%Y")
filename.format(date=date)

我们可以格式化字符串的另一种方法是使用%的旧字符串格式样式。我讨厌这种方法,但有些人喜欢它。我认为可能更快。

date = datetime.now().strftime("%M-%D-%Y")
filename = 'gs://firebase_results/firebase_backups1/%s-Firebase_ConnectionInfo.csv' % date

或者,您可以使用其他人的答案,只需添加像

这样的字符串
"This " + "is " + "a " + "string." 
outputs: "This is a string."

答案 1 :(得分:1)

尝试这样的事情:

import datetime

datestr = datetime.date.today().strftime("%B-%d-%Y")
destination = 'gs://firebase_results/firebase_backups1/' + datestr + '_Firebase_ConnectionInfo.csv'