>我正在尝试生成一个日志类,该类具有一个接受输入并将其打印到日志文件的函数。打印到控制台时,示例可以是:
print("hi",[1,2,3])
这导致
hi [1,2,3]
但是我有一个功能:
def printLog(input):
self.file.write('%sn' % input)
但是,传递此组合将不起作用。有没有办法我可以将"嗨,[1,2,3]"作为字符串传递。这必须转换列表以完全按照控制台屏幕中的打印方式打印列表?这应该处理所有数据类型,而不仅仅是列表。
使用 print()
函数的 file
参数:
def printLog(*inp):
print(*inp, file=self.file)
您需要自己构建字符串。print
语句(和函数,如果可用)会自动调用str
的每个参数,然后打印它们(默认情况下)用空格分隔。
def printLog(*input):
self.file.write('%sn' % (" ".join(str(x) for x in input),))
回合如何
print("A",[1,2,3],file=self.file)
好吧
,如果我没记错的话,难道你不能在定义 printLog 后立即使用 str() 将输入键入到字符串中吗?
def printLog(input):
input = str(input)
self.file.write('%sn' % input)