Python中正反斜杠(‘/’和‘\’)的意义与用法

yipeiwu_com6年前Python基础

刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。

在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当成一个路径来使用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

跟老齐学Python之Python文档

跟老齐学Python之Python文档

文档很重要。独孤九剑的剑诀、易筋经的心法、写着辟邪剑谱的袈裟,这些都是文档。连那些大牛人都要这些文档,更何况我们呢?所以,文档是很重要的。 文档,说白了就是用word(这个最多了)等(注...

python getpass模块用法及实例详解

python getpass模块用法及实例详解

getpass import getpass username = input("username:") password = getpass.getpass("passwor...

Python实现点云投影到平面显示

值得学习的地方: 1.选择合法索引的方式 2.数组转图像显示 import numpy as np from PIL import Image #input : shape(N,...

python用fsolve、leastsq对非线性方程组求解

背景: 实现用python的optimize库的fsolve对非线性方程组进行求解。可以看到这一个问题实际上还是一个优化问题,也可以用之前拟合函数的leastsq求解。下面用这两个方法进...

解决python写入带有中文的字符到文件错误的问题

在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象。 ---------------------------- UnicodeEncodeError: 'as...