刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。
在Python中,记录路径时有以下几种写法,如:(大家都知道\n是换行的意思)
report_dir1=r‘C:\Local\Programs\Python\Python35\Lib\n_test' report_dir2=‘C:\\Local\\Programs\\Python\\Python35\\Lib\\n_test' report_dir3=‘C:/Local/Programs/Python/Python35/Lib/n_test'
这三个路径的写法是等价的:
report_dir1中加入r后,使得编译器不会把‘\n_test'中的“\n”单独作为一个换行符,而是与后面的“_test”作为一个整体。
report_dir2中都是\\,使用双斜杠是因为其中一个反斜杠代表转义的意思,因此每一个\\都被转义成\。
report_dir3就不用自说了。
另外,补充一点,在Python中,如果在打印的句末加上"\",则为下一行继续,不会换行。
给大家看一下我写测试报告时遇到的问题
if __name__ == '__main__': #定义测试报告路径 report_dir = './test_report' #定义测试报告日期 now=time.strftime('%Y-%m-%d') #定义测试报告的名字,之前犯得错误就是在report_dir后面没有添加“/” report_name=report_dir+'/'+'test_baidu_'+now+'report.html' with open(report_name,'wb') as f: #加载运行器,写入测试数据 runner=BSTestRunner(stream=f,title='Test Report',description='BaiDu Test Report') runner.run(discovery) f.close()
之前犯得错误就是在report_dir后面没有添加“/”,以至于在生成测试报告的时候,将report_dir当成了文本,把./test_report写入到了report_name(即报告名字)的一部分。并不是把report_dir当成一个路径来使用。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。