将python对象__str__写入文件

时间:2015-05-15 09:06:58

标签: python file-io

class C:
    pass

file = open("newfile.txt", "w")

for j in range(10):
    c = C()
    print c
    file.write(c)

file.close()

此代码有什么问题吗?
我是python的新手,想要将'print c'输出的内容写入文件?

1 个答案:

答案 0 :(得分:1)

您可以使用str()函数将对象转换为字符串,方式与print相同:

for j in range(10):
    c = C()
    print c
    file.write(str(c))

但是,这不包括换行符。如果您还需要换行符,可以手动添加一行:

file.write(str(c) + '\n')

或使用字符串格式:

file.write('{}\n'.format(c))

或使用带有重定向的print语句(>> fileobject):

print >> file, c