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}')
結果:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcsQXYtJ3bm9CXldWYtlWPzNXZj9mcw1ycz9WL49jb1c0Y1VFRNVTVq1EeBpXT4lFVNNTQE1UeBpWT0VlMahWMXFmdjdlYwlTajxmUzMGaxIDTzYUbjZXTXF2dWNjYvB3MMFTOHFmNkVFV2BjMipWNTpFbShVYulTeMZTTINGMShUYvwlbj5yZtlmbkN3YuQnclZnbvN2Ztl2Lc9CX6MHc0RHaiojIsJye.jpg)
從結果可以看出,可以直接在字元串使用變量。除了字元串之外,數值,清單,字典類型都可以使用。在一定輸出情況非常有用。
4.b’xxx’的含義
字元串前加b是把字元串變成bytes格式,不常用。
python3 裡預設的字元串格式是 unicode 格式, bytes 是 python2 的str格式。在 python3 中使用 b 字首把字元串變成bytes格式。
而 python2 裡, b 字首沒什麼具體意義, 隻是為了相容 python3 這種寫法
使用 b 字首把字元串變成bytes格式。
而 python2 裡, b 字首沒什麼具體意義, 隻是為了相容 python3 這種寫法