题目描述定义一个变量,它的值是要操作的文件的绝对路径,用open函数打开要操作时提示invalid arguments题目来源及自己的思路用print函数测试发现是没有问题,打印logfile是正常的,但是在open中打开就不正常了。相关代码#! python3# -*- encoding:utf-8 -*-import osimport sysimport timeif os.path.isdir('logs'): passelse:
os.mkdir('logs')
log_path = os.path.join(os.getcwd(),'logs',time.asctime())
logfile = os.path.normcase(log_path) + '.log'with open(logfile,'wb') as lf:
lf.write("test")你期待的结果是什么?实际看到的错误信息又是什么?错误信息:OSError: [Errno 22] Invalid argument: 'e:\python\远程管理\logs\tue sep 18 17:50:23 2018.log'
1 回答
![?](http://img1.sycdn.imooc.com/533e4d470001a00a02000200-100-100.jpg)
动漫人物
TA贡献1815条经验 获得超10个赞
问题出在lf.write("test")
这地方,为什么呢?因为你这里的文件打开方式wb
,也就是以二进制流或者叫做byte的形式打开,然而你此处lf.write("test")
写的是字符串,所以出错了,正确的操作应该是:
lf.write(b"test")
这样子,写入byte类型的字符串。
添加回答
举报
0/150
提交
取消