【发布时间】:2012-11-07 17:30:39
【问题描述】:
我想在 Python 中编写一个函数,该函数将像 print 那样接受参数,但我不想将字符串打印到标准输出,而是将格式化的字符串写入文本文件。
我想知道如何为这样的函数参数定义参数以接受字符串格式?
我正在寻找可以替代的东西
print "Test"
与
MyLog "Test"
但也应该支持 % 参数。 到目前为止,我只想到了这个:
def logger(txt):
fh = open (LOGFILE, "a") #Get handle in append mode
fh.write(txt)
fh.close()
print txt
return True
它适用于简单的字符串,但我认为它不会接受 % 参数,也不能像 logger "TEST"
那样调用它【问题讨论】:
-
每次都是同一个文件?
-
您的意思是要编写一个可以像
my_function arg1 arg2这样调用的函数,还是只需要一种使用内置函数写入文件的方法? -
好吧,我可以例如调用 print "Test" 我希望能够用 MyLog "Test" 替换 print 例如
-
print是 Python2.x 中的语句,不能在语言中添加其他语句。但是,您可以将print的特定语法用作语句以使其写入文件(例如print >> log_file_object, "Test"。 -
"string with %s formats %d" % ('3', 3)"将始终计算为字符串,即使作为函数的参数也是如此。你试过什么?