【Selenium】【BugList9】windows环境,fp = open("./"+ time.strftime("%Y-%m-%d %H:%M:%S") + " result.html",'wb'),报错:OSError: [Errno 22] Invalid argument: './2018-09-05 10:29:32 result.html'


【代码】

if __name__=="__main__":
    suite = unittest.TestSuite()
    suite.addTest(Baidu("test_baidu"))
    
 url ="./"+ time.strftime("%Y-%m-%d %H:%M:%S") + " result.html"
    fp = open(url,'wb')
    runner = HTMLTestRunner(stream = fp,
                            title = 'Report of Baidu_search',
                            description = 'TestCase run')
    
    runner.run(suite)
    fp.close()

 

【报错】

==================== RESTART: C:/Users/admin/Desktop/1.py ====================
Traceback (most recent call last):
File "C:/Users/admin/Desktop/1.py", line 31, in <module>
fp = open("./"+ time.strftime("%Y-%m-%d %H:%M:%S") + " result.html",'wb')
OSError: [Errno 22] Invalid argument: './2018-09-05 10:29:32 result.html'

 

【解决思路】

1.python IDLE中:open("./result.html",'wb'),成功

2.去掉“%Y-%m-%d %H:%M:%S”中空格,仍报错 

3.修改“%Y-%m-%d %H:%M:%S”中‘:’ 为 ‘-’,成功—>冒号 ‘:’ 引起

4.在python IDLE中,执行 time.strftime("%Y-%m-%d %H:%M:%S") 可成功,但open方法执行却不行?

5.在Windows下,创建文件名带冒号的文件,再用open方法打开,结果:

 

6.结论:Windows环境,不能创建文件名带英文冒号:的文件,所以open方法创建/打开文件失败

 

【代码-修改后】

if __name__=="__main__":
    suite = unittest.TestSuite()
    suite.addTest(Baidu("test_baidu"))
    
    url ="./"+ time.strftime("%Y-%m-%d %H_%M_%S") + " result.html"
    fp = open(url,'wb')
    runner = HTMLTestRunner(stream = fp,
                            title = 'Report of Baidu_search',
                            description = 'TestCase run')
    
    runner.run(suite)
    fp.close()

 

【Ending】

微信公众号“粒粒的测试笔记


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM