成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能 正文
    發私信給AI研習社-譯站
    發送

    0

    Python小技巧:3個處理文件路徑的簡單方法

    本文作者: AI研習社-譯站 2019-08-02 10:52
    導語:幾乎所有計算機在文件夾名稱間使用的都是正斜杠,但微軟Windows使用的是卻反斜杠, 這不免造成了編程的一個小煩惱。

    Python小技巧:3個處理文件路徑的簡單方法

    原標題 | Python 3 Quick Tip: The easy way to deal with file paths on Windows, Mac and Linux
    作者 | Adam Geitgey
    譯者 | 林肯二百一十三(西安交通大學)、Dooria

    幾乎所有計算機在文件夾名稱間使用的都是正斜杠,但微軟Windows使用的是卻反斜杠, 這不免造成了編程的一個小煩惱。

    Python小技巧:3個處理文件路徑的簡單方法

    這是1980年代早期,計算機史上的一個意外。MS-DOS的第一個版本使用正斜杠來指定命令行選項。當微軟在MS-DOS2.0中增加對文件夾的支持時,因為正斜杠已經被使用了,所以使用反斜杠代替。三十五年后,這種不兼容仍舊困擾著我們。

    如果希望你的Python代碼能夠同時在Windows和Mac/Linux上運行,你需要解決這類平臺的特定問題。幸運的是,Python3的新模塊pathlib可以使文件操作變得更簡單。

    以下是一些使用pathlib處理文件名的方法,它可以使命名操作變得簡單得多。

      錯誤的方法:手工構建文件路徑

    假設現在你有一個數據包,其中包含了你的Python項目里需要的文件。

    Python小技巧:3個處理文件路徑的簡單方法

    下面是錯誤的代碼:

    Python小技巧:3個處理文件路徑的簡單方法

    請注意,因為是在Mac平臺上,我使用了Unix風格的正斜杠硬編碼路徑。這會讓Windows用戶非常頭疼。

    從技術上講,這個代碼在Windows上也能運行,因為Python會在調用open()函數時識別出任何一種斜杠。即便如此,你也不應該依賴它。不是所有的python庫都可以在錯誤的操作系統上使用錯誤的斜杠,特別是當它們有外部程序或庫接口時。

    并且,Python對混合斜杠類型的支持僅限Windows,它無法反向工作。也就是說,代碼中的反斜杠將在Mac上完全失效。

    Python小技巧:3個處理文件路徑的簡單方法

    出于上述原因以及其他更多的原因,使用硬編碼的路徑字符串編寫代碼會被其他程序員diss的,應該盡量避免。 

      老方法:Python的os.path模塊

    Python的os.path模塊提供了很多有用的工具以幫助我們處理這些面向特定操作系統的文件系統問題。

    你可以用os.path.join()函數來針對當前操作系統正確地使用斜杠來構建路徑:

    Python小技巧:3個處理文件路徑的簡單方法

    上面的代碼在Windows和Mac都能有效工作——但問題就是用起來很讓人頭大。每次調用os.path.join()把路徑中的每一部分作為一個獨立的字符串參數傳進去的辦法實在太麻煩了。

    因為os.path模塊的大部分函數都像os.path.join()這樣笨拙,Python開發者們經常就懶得用這些工具,結果寫了一堆跨平臺bug,還惹惱了一群用戶。

      新方法:Python 3 的 pathlib!

    Python 3.4 引入了一個用于處理文件和路徑的新標準庫——pathlib,而且很好用!

    要用pathlib,只要新建一個Path()對象并傳入使用正斜杠的路徑或文件名,剩下的pathlib都幫你搞定:

    Python小技巧:3個處理文件路徑的簡單方法

    請注意兩點:
    • 在pathlib中請直接用正斜杠(“/”)。Path對象可以將正斜杠轉換成當前操作系統應該使用的正確斜杠。Nice!
    • 如果想在某個Path對象后添加內容,只要在代碼里使用“/”操作符(也就是除號!?)。跟一遍又一遍地敲os.path.join(a, b)的日子說拜拜吧!

    如果這就是pathlib做的事情,那它可真是Python的一個不錯的補充——但它做的其實更多呢~

    比如,我們可以不用調用open()或者close()之類的函數,而直接讀文件的內容:

    Python小技巧:3個處理文件路徑的簡單方法

    注:上上部分的例子是有bug的,因為讀取的文件沒有關閉。但這里的語句則完全避免了這個問題!

    pathlib還把最標準的文件操作變得簡單易用:

    Python小技巧:3個處理文件路徑的簡單方法

    你甚至可以用pathlib來將一個Unix系統的路徑轉換成Windows格式的路徑:

    Python小技巧:3個處理文件路徑的簡單方法

    如果你非得用反斜杠還想不出問題呢?好吧…你可以把你的路徑聲明成Windows格式的,這樣pathlib在其他操作系統中依然能把它轉換成合適的形式:

    Python小技巧:3個處理文件路徑的簡單方法

    如果你還想再6一點?你甚至可以用pathlib來解析文件的相關路徑,解析網絡共享路徑或者生成"file://"格式的URL。下邊的例子用四行代碼(其中兩行還是import)做到了用你的Web瀏覽器打開一個本地文件:

    Python小技巧:3個處理文件路徑的簡單方法

    而這也不過是pathlib的一個小功能而已。pathlib足以替代散落在Python各種模塊中的文件相關功能。看看文檔,試一下吧~

    本文編輯:Pita

    英語原文:https://medium.com/@ageitgey/python-3-quick-tip-the-easy-way-to-deal-with-file-paths-on-windows-mac-and-linux-11a072b58d5f

    想要繼續查看該篇文章相關鏈接和參考文獻?

    點擊【Python小技巧:3個處理文件路徑的簡單方法】即可訪問:

    福利大放送——滿滿的干貨課程免費送!

    「好玩的Python:從數據挖掘到深度學習」該課程涵蓋了從Python入門到CV、NLP實踐等內容,是非常不錯的深度學習入門課程,共計9節32課時,總長度約為13個小時。。

    課程頁面:https://ai.yanxishe.com/page/domesticCourse/37

    「計算機視覺基礎入門課程」本課程主要介紹深度學習在計算機視覺方向的算法與應用,涵蓋了計算機視覺的歷史與整個課程規劃、CNN的模型原理與訓練技巧、計算機視覺的應用案例等,適合對計算機視覺感興趣的新人。

    課程頁面:https://ai.yanxishe.com/page/domesticCourse/46

    現AI研習社將兩門課程免費開放給社區認證用戶,只要您在認證時在備注框里填寫「Python」,待認證通過后,即可獲得該課程全部解鎖權限。心動不如行動噢~

    認證方式:https://ai.yanxishe.com/page/blogDetail/13999

    雷鋒網雷鋒網雷鋒網


    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    Python小技巧:3個處理文件路徑的簡單方法

    分享:
    相關文章

    知情人士

    AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說