詳解Python中文件路徑
Python中文件路徑
絕對路徑和相對路徑
絕對路徑就是文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進行一級級目錄指向文件。 相對路徑就是以當前文件為基準進行一級級目錄指向被引用的資源文件。
以下是常用的表示當前目錄和當前目錄的父級目錄的標識符 :
../ 表示當前文件所在的目錄的上一級目錄
./ 表示當前文件所在的目錄(可以省略)
/ 表示當前站點的根目錄(域名映射的硬盤目錄)
"/"左傾斜是正斜杠,"\"右傾斜是反斜杠,可以記為:除號是正斜杠“/”,一般來說對于目錄分隔符,
(一)目錄中的斜杠們
python讀文件需要輸入的目錄參數(shù),列出以下例子:
path = r"C:\Windows\temp\readme.txt"
path1 = r"c:\windows\temp\readme.txt"
path2 = "c:\\windows\\temp\\readme.txt"
path3 = "c:/windows/temp/readme.txt"
打開文件函數(shù)open()中的參數(shù)可以是path也可以是path1、path2、path3。
path:"\"為字符串中的特殊字符,加上r后變?yōu)樵甲址?,則不會對字符串中的"\t"、"\r" 進行字符串轉義
path1:大小寫不影響windows定位到文件
path2:用一個"\"取消第二個"\"的特殊轉義作用,即為"\\"
path3:用正斜杠做目錄分隔符也可以轉到對應目錄,并且在python中path3的方式也省去了反斜杠\轉義的煩惱
(二)正則表達式中的斜杠們
正則表達式匹配反斜杠"\",為什么是"\\\\"或是 r"\\"呢?
因為在正則表達式中\(zhòng)為特殊符號,為了取消它在正則表達式中的特殊意義需要加一個\就變成了\\,但是問題又來了,\也是字符串中的特殊字符,所以又要分別對兩個\取消其特殊意義,即為\\\\。Python中有一個原始字符串操作符,用于那些字符串中出現(xiàn)特殊字符,在原始字符串中,沒有轉義字符和不能打印的字符。這樣就可以取消了\在字符串中的轉義功能,即r"\\"。
什么是文件路徑,Python中如何書寫文件路徑?
當程序運行時,變量是保存數(shù)據(jù)的好方法,但變量、序列以及對象中存儲的數(shù)據(jù)是暫時的,程序結束后就會丟失,如果希望程序結束后數(shù)據(jù)仍然保持,就需要將數(shù)據(jù)保存到文件中。Python 提供了內置的文件對象,以及對文件、目錄進行操作的內置模塊,通過這些技術可以很方便地將數(shù)據(jù)保存到文件(如文本文件等)中。
關于文件,它有兩個關鍵屬性,分別是“文件名”和“路徑”。其中,文件名指的是為每個文件設定的名稱,而路徑則用來指明文件在計算機上的位置。例如,我的 Windows 7 筆記本上有一個文件名為 projects.docx(句點之后的部分稱為文件的“擴展名”,它指出了文件的類型),它的路徑在 D:\demo\exercise,也就是說,該文件位于 D 盤下 demo 文件夾中 exercise 子文件夾下。
通過文件名和路徑可以分析出,project.docx 是一個 Word 文檔,demo 和 exercise 都是指“文件夾”(也稱為目錄)。文件夾可以包含文件和其他文件夾,例如 project.docx 在 exercise 文件夾中,該文件夾又在 demo 文件夾中。
注意,路徑中的 D:\ 指的是“根文件夾”,它包含了所有其他文件夾。在 Windows 中,根文件夾名為 D:\,也稱為 D: 盤。在 OS X 和 Linux 中,根文件夾是 /。本教程使用的是 Windows 風格的根文件夾,如果你在 OS X 或 Linux 上輸入交互式環(huán)境的例子,請用 / 代替。
另外,附加卷(諸如 DVD 驅動器或 USB 閃存驅動器),在不同的操作系統(tǒng)上顯示也不同。在 Windows 上,它們表示為新的、帶字符的根驅動器。諸如 D:\ 或 E:\。在 OS X 上,它們表示為新的文件夾,在 /Volumes 文件夾下。在 Linux 上,它們表示為新的文件夾,在 /mnt 文件夾下。同時也要注意,雖然文件夾名稱和文件名在 Windows 和 OS X 上是不區(qū)分大小寫的,但在 Linux 上是區(qū)分大小寫的。
Windows上的反斜杠以及OS X和Linux上的正斜杠
在 Windows 上,路徑書寫使用反斜杠 "\" 作為文件夾之間的分隔符。但在 OS X 和 Linux 上,使用正斜杠 "/" 作為它們的路徑分隔符。如果想要程序運行在所有操作系統(tǒng)上,在編寫 Python 腳本時,就必須處理這兩種情況。
好在,用 os.path.join() 函數(shù)來做這件事很簡單。如果將單個文件和路徑上的文件夾名稱的字符串傳遞給它,os.path.join() 就會返回一個文件路徑的字符串,包含正確的路徑分隔符。在交互式環(huán)境中輸入以下代碼:
>>> import os >>> os.path.join('demo', 'exercise') 'demo\\exercise'
因為此程序是在 Windows 上運行的,所以 os.path.join('demo', 'exercise') 返回 'demo\\exercise'(請注意,反斜杠有兩個,因為每個反斜杠需要由另一個反斜杠字符來轉義)。如果在 OS X 或 Linux 上調用這個函數(shù),該字符串就會是 'demo/exercise'。
不僅如此,如果需要創(chuàng)建帶有文件名稱的文件存儲路徑,os.path.join() 函數(shù)同樣很有用。例如,下面的例子將一個文件名列表中的名稱,添加到文件夾名稱的末尾:
import os myFiles = ['accounts.txt', 'details.csv', 'invite.docx'] for filename in myFiles: ? ? print(os.path.join('C:\\demo\\exercise', filename))
運行結果為:
C:\demo\exercise\accounts.txt
C:\demo\exercise\details.csv
C:\demo\exercise\invite.docx
到此這篇關于Python中文件路徑的文章就介紹到這了,更多相關Python中文件路徑內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django框架之登錄后自定義跳轉頁面的實現(xiàn)方法
這篇文章主要介紹了Django框架之登錄后自定義跳轉頁面的實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07