在flask-python中进行全局文件初始化

时间:2017-09-11 10:36:22

标签: python flask

我一直在谷歌上搜索如何创建一个全局文件,该文件将在我的应用程序完成之前打开。需要在单个文件中的视图中写入所有模块的输出。这样,一旦从前端运行应用程序,用户就可以将此文件作为报告下载。这是我创建的课程

import time


class FileOperations:
    def __init__(self):

        self.current_time = time.strftime('%Y-%m-%d_%H-%M-%S')
        self.outfile = open("reports/username_" + self.current_time + ".txt", 'w')
        self.outfile.write("Final Report \n")
        self.outfile.write("*****************")

我想让这个文件在应用程序开始运行时生成它。应该适用于所有模块

1 个答案:

答案 0 :(得分:0)

上下文管理器是一种安全处理写入文件等操作的方法。它还允许您更好地跟踪文件打开或关闭的时间。 我建议您花点时间启动应用程序,并重新使用该文件,因为我按照您的意图。那可能更安全"而不是保持文件打开。

def get_time():
    global start_time
    start_time = time.strftime('%Y-%m-%d_%H-%M-%S')

def write_to_file():
    with open('reports/username_{}.txt'.format(start_time), 'a') as f:
      f.write("Final Report \n")
      f.write("*****************")

if 'start_time' not in globals():
    get_time()

每次导入模块时都会运行条件。通过检查它是否已在模块范围中定义,我们确保只定义一次。