我正在尝试为日志文件创建一个def,这是我的脚本:
#include <stdio.h>
#include <stdlib.h>
int main()
{
_popen(" ", "w");
return 0;
}
该脚本创建一个txt文件,但不会将def()函数写入txt 感谢
答案 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)
将变量time
重命名为current_time
,以避免与模块time
发生冲突。
您将msg
(整数)传递给方法write
。您应该先将其转换为字符串:msg = str(operazione)