3 回答
TA贡献1906条经验 获得超10个赞
写这么多,但是我没看出来你执行这个到底报错还是什么的,如果报错的消息在那里?
logfile =open('/tmp/mylog.txt', 'a')
print >> logfile, 'Fatal error: invalid input!'
logfile.close()
你的 print >> logfile, 'Fatal error: invalid input!' 是把后面这个文件写回到logfile 里,'a'的话是追加到文件最后
文件操作的基本语法在下面:
handle=open(file_name,access_mode="r")
file_name 变量包含我们希望打开的文件的字符串名称,access_mode 中的'r'表示读取(试图写入会报错),‘w’表示写入(从开头写),'a'表示添加(在文件最后添加),其它可能用到的标实还有‘+’表示读写,‘b’表示2进制访问,如果未提供access_mode,默认为“r”.
如果open()成功,一个文件对象句柄会被返回,否则会报错
显示内容:
for eachline in handle:
print eachline,
fobj.close()
TA贡献1887条经验 获得超5个赞
你想做的是什么呢?
如果你想把
'Fatal error: invalid input!'
这句string写到一个文件里,那么第一句必须用'w'参数先创建一个文件。直接用'a' 不能创建文件,只能打开已经存在的文件然后在后面添加新的内容。
如果程序顺利执行,那么你指定的文件夹下面就会出现一个mylog.txt 的文件,里面有你print 进去的内容。
b的作用是和 pickle 这个模块配套使用的,建议你去看看python手册中的pickle部分,看完了以后就知道b的作用了。
TA贡献1846条经验 获得超7个赞
/tmp/mylog.txt这种写法是linux系统文件夹路径的写法,在windows系统下应该这样写
logfile =open(r'\tmp\mylog.txt', 'a')
由于\在python中有转义的作用,在字符串前面加个r表示使用原始字符串,不进行转义。这样会打开python程序运行目录下的tmp文件夹中的mylog.txt进行追加。
用普通方式打开文档会转换文件中的特殊字符,比如回车换行符,用二进制方式打开则不会转换
添加回答
举报