我一直在谷歌上搜索如何创建一个全局文件,该文件将在我的应用程序完成之前打开。需要在单个文件中的视图中写入所有模块的输出。这样,一旦从前端运行应用程序,用户就可以将此文件作为报告下载。这是我创建的课程
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("*****************")
我想让这个文件在应用程序开始运行时生成它。应该适用于所有模块
答案 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()
每次导入模块时都会运行条件。通过检查它是否已在模块范围中定义,我们确保只定义一次。