剛剛在學(xué)習(xí)些測(cè)試報(bào)告的時(shí)候,出現(xiàn)一個(gè)路徑的問題,找了很久的原因,竟然是少了一個(gè)反斜杠引起的,在此順便記錄一下正反斜杠的作用。
在Python中,記錄路徑時(shí)有以下幾種寫法,如:(大家都知道\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'
這三個(gè)路徑的寫法是等價(jià)的:
report_dir1中加入r后,使得編譯器不會(huì)把‘\n_test'中的“\n”單獨(dú)作為一個(gè)換行符,而是與后面的“_test”作為一個(gè)整體。
report_dir2中都是\\,使用雙斜杠是因?yàn)槠渲幸粋€(gè)反斜杠代表轉(zhuǎn)義的意思,因此每一個(gè)\\都被轉(zhuǎn)義成\。
report_dir3就不用自說了。
另外,補(bǔ)充一點(diǎn),在Python中,如果在打印的句末加上"\",則為下一行繼續(xù),不會(huì)換行。
給大家看一下我寫測(cè)試報(bào)告時(shí)遇到的問題
if __name__ == '__main__': #定義測(cè)試報(bào)告路徑 report_dir = './test_report' #定義測(cè)試報(bào)告日期 now=time.strftime('%Y-%m-%d') #定義測(cè)試報(bào)告的名字,之前犯得錯(cuò)誤就是在report_dir后面沒有添加“/” report_name=report_dir+'/'+'test_baidu_'+now+'report.html' with open(report_name,'wb') as f: #加載運(yùn)行器,寫入測(cè)試數(shù)據(jù) runner=BSTestRunner(stream=f,title='Test Report',description='BaiDu Test Report') runner.run(discovery) f.close()
之前犯得錯(cuò)誤就是在report_dir后面沒有添加“/”,以至于在生成測(cè)試報(bào)告的時(shí)候,將report_dir當(dāng)成了文本,把./test_report寫入到了report_name(即報(bào)告名字)的一部分。并不是把report_dir當(dāng)成一個(gè)路徑來使用。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
