天天看點

Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義

Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義

文章目錄

  • Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義
    • 1.r'xxx' 的含義
    • 2.u'xxx' 的含義
    • 3.f'xxx' 的含義
    • 4.b'xxx'的含義

1.r’xxx’ 的含義

**加 r 會把字元串轉變為非轉義的原始字元串。**比較常用。

例如:

print('D:\\test\\test.txt')
print(r'D:\\test\\test.txt')
print(r'D:\test\test.txt')
           

結果是:

D:\test\test.txt
D:\\test\\test.txt
D:\test\test.txt
           

從結果看來,加 r 的作用是把轉義字元 \ \ 變成普通字元。

用處:在讀寫Windows的位址時,可以不用雙斜杠(\\)進行轉義了,直接讀寫複制的位址就可以。

2.u’xxx’ 的含義

字元串前加 u 是對字元串進行unicode編碼

一般是在操作包含中文字元串時使用,比較少使用。可以在讀取包含中文的路徑時使用。

拓:

在把中文字元串寫入如 txt 檔案時,不在其前面加 u。常用的将文本字元串用utf-8編碼方式寫入txt檔案的方法如下

t = '我要學Python'
with open(r'test.txt', 'w+', encoding="utf-8") as f:  #w+ 以讀寫模式打開檔案;r 讀取模式;a 附加模式,即在文本末尾寫入,不會删除之前文本
    f.write(t)
           

3.f’xxx’ 的含義

在字元串前加 f 是把字元串格式化,使可以在字元串中直接使用變量

例如:

a = 'python'
print(f'hello {a}')
           

結果:

Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義Python随筆:進行讀寫檔案時,在字元串前加 r,u,b,f 的含義

從結果可以看出,可以直接在字元串使用變量。除了字元串之外,數值,清單,字典類型都可以使用。在一定輸出情況非常有用。

4.b’xxx’的含義

字元串前加b是把字元串變成bytes格式,不常用。

python3 裡預設的字元串格式是 unicode 格式, bytes 是 python2 的str格式。在 python3 中使用 b 字首把字元串變成bytes格式。

而 python2 裡, b 字首沒什麼具體意義, 隻是為了相容 python3 這種寫法

使用 b 字首把字元串變成bytes格式。

而 python2 裡, b 字首沒什麼具體意義, 隻是為了相容 python3 這種寫法