我创建了一个自己的类来打开和编写一个行文件:
import os, datetime
class LogFile:
def __init__(self, FileName):
FilePath = "C:/MyDirectory/Log"
self.__FileName = FileName
self.__FullFileName = FilePath + "/" + self.__FileName
if os.path.exists(self.__FullFileName):
os.remove(self.__FullFileName)
self.__File = open(self.__FullFileName,'a')
def __del__(self):
pass
def openFile(self):
now = datetime.datetime.now()
time = now.strftime("%Y-%m-%d %H:%M")
self.__File.write(time + '/n')
def closeFile(self):
self.__File.close
def writeFile(self,Text):
self.__File.write(Text)
它显示无错误,打开文件,但不在新文件中写入一行:
>>> import log
>>> from log import LogFile
>>> aa = LogFile("newbie")
>>> aa.openFile()
>>> aa.writeFile("newtext")
谢谢你的帮助。你知道吗
如果是为了学习,你所做的并不好。你知道吗
您调用了类Logfile,因此我假设它是用于登录另一个应用程序的。日志的目的之一正是在奇怪的事情发生时,或者应用程序崩溃时获取信息。因此,您不应该缓冲记录的信息,而应该尽快将它们刷新到磁盘上。你知道吗
您应该考虑只保留文件名作为类的属性,删除open和close方法,并将writeFile更改为:
当然,重复打开和关闭文件会带来严重的开销,但日志的安全性也会得到很大提高。你知道吗
写入后必须关闭打开的文件。内容可能在缓冲区中。关闭文件后,您将能够看到内容。你知道吗
或者简单地使用python的
logging
模块。你知道吗相关问题 更多 >
编程相关推荐