file.write()不写入文件

时间:2016-02-09 17:08:45

标签: python file

我正在尝试为日志文件创建一个def,这是我的脚本:

#include <stdio.h>
#include <stdlib.h>

int main()
{
  _popen(" ", "w");
  return 0;
}

该脚本创建一个txt文件,但不会将def()函数写入txt 感谢

3 个答案:

答案 0 :(得分:1)

您正在尝试将整数写入文件; file.write()方法只接受字符串。

首先转换为字符串:

filess.write(str(msg))

你真的不应该在你的代码中使用毯子except处理程序;你真的不想玩口袋妖怪并抓住它们。通过这样做,您将缺少有价值的错误信息。见Why is "except: pass" a bad programming practice?

您可以使用logging module

,而不是自己动手

答案 1 :(得分:1)

您打开一个文件,然后关闭它。你不会在其中写任何东西,因为函数write()失败,除了str()类型的变量之外的任何东西都应传递给它!以下是write()的替代方案,限制较少:

with open('file_name.txt', 'w') as file:

    print(variable_you_want_written, file=file, end='\n')

print()函数的限制较少,这是一个更好的选择,因为它会自动将收到的输入格式化为str(),无论初始type()如何,并排除函数,实例和生成器对象,例如,显示为:<function <lambda> at 0x1089b70d0>

此外,请注意,它们转换(然后显示或写入文件)的可视格式可能不一定符合您的喜好,因此我建议您尝试结果并查看最适合的格式。特定的情况。

Click here适用于print()上的Python 3文档。

答案 2 :(得分:0)

  1. 将变量time重命名为current_time,以避免与模块time发生冲突。

  2. 您将msg(整数)传递给方法write。您应该先将其转换为字符串:msg = str(operazione)