創建文本流的最簡單方法是使用 open(),可以選擇指定編碼:
f=open("myfile.txt","r",encoding="utf-8")
但是更為安全的方法是:
with open("myfile.txt","w",encoding="utf-8") as f:
f.write(str)
還可以設置open函數的mode:
mode 可以為 'r', 'w', 'x' 或 'a' 分別表示讀取(默認模式)、寫入、獨占新建或添加。 如果以寫入或添加模式('w'和‘a’)打開的文件如果不存在將自動新建;當以寫入模式(“w”)打開時會先把文件先清空。 以新建模式打開時如果文件已存在則將引發 FileExistsError。 以新建模式打開文件也意味著要寫入,因此該模式的行為與 'w' 類似。 在模式中附帶 '+' 將允許同時讀取和寫入。
示例:
如果要往一個文件中連續寫入內容,設置可以為:
(這是從子進程讀取管道輸出并寫到log文件中的部分程序)
while subproc.returncode is None:
out = subproc.stdout.readline() #這個readline函數每次讀取一行
if out:
# print(out)
with open(r"XXX\XXX\test_1.log", mode='a',encoding="UTF-8") as f:
f.write(str(ou