⑴ 如何通過python3寫入txt文件
使用open方法打開一個txt文件,句柄保存在f中。注意第二個參數w,表明是可寫模式,只有這種模式你才可以寫入文字。第一個參數大家都知道,就是文件路徑,如果文件不存在,那麼會自動創建一個該目錄下的txt文件。
寫入文字,用write
如果你一次有多行要寫入,你可以用一個列表作為參數:
如果寫入完畢,我們需要關閉文件,用到的close方法。
最後看一下,已經寫入到tt記事本了。
open(path,'w'):w模式下,寫入內容會覆蓋掉原來的內容,所以我們還有另一個模式叫做追加模式,就是a模式
⑵ python怎麼中文寫txt文件
本文以txt 文本為例,只是介紹ANSI,Unicode,UTF-8 三種編碼的文件的讀寫過程,對於編碼不做深究了
一、用記事本另存為時,可以選擇保存文本使用的的幾種編碼模式,分別為:
ANSI:默認保存的編碼格式,採用本地操作系統默認的內碼,簡體中文一般為GB2312。
Unicode:UTF-16的小端位元組序,加上BOM簽名:0xFFFE。
Unicode bigendian:Unicode編碼:UTF-16的大端位元組序,加上BOM簽名:0xFEFF。
UTF-8:編碼格式是:UTF-8,其BOM為0xEF BB BF(UTF-8不區分位元組序,這個BOM僅標志UTF-8編碼)
Python對於讀取的txt文件,最好在讀取的時候進行decode成unicode編碼,
然後再寫入的時候進行encode成對應想要的編碼類型,這樣可以保證源文件的編碼方式不會改變,且中文不會亂碼
整個代碼過程保持使用unicode編碼方式利用try…except 來進行編碼判別具體使用了那種編碼方式
二、對於raw_input 通過鍵盤輸入的文字,通過sys模塊中的stdin.encodeing來進行解碼
暫時這么多
⑶ python用xlwt向xls中寫入中文,顯示亂碼該怎麼解決
亂碼是編碼問題,微軟的excel默認打開的編碼是gbk,如果你寫入的數據是非gbk編碼的,那麼使用微軟excel打開就會出現亂碼的情況。解決方法為:對要寫入的數據編碼為gbk之後在進行寫入,在python中的簡單的操作方法如下:
1.源數據為unicode編碼,則直接使用encode("gbk")即可轉換編碼;
str=u"我愛中國共產黨"#unicode編碼的字元串
des_str=str.encode("gbk")#轉換為gbk編碼
2.源數據不是unicode編碼,那麼必須先使用decode函數解碼為unicode編碼,在按照第一種情況轉換為gbk編碼。
str=u"我愛中國共產黨"#unicode編碼的字元串
src_str=str.encode("utf-8")#源數據格式utf-8
des_str=str.decode("utf-8").encode("gbk")#轉換為gbk編碼
注意:encode和decode方法為字元串的方法,不能應用與列表等其他類型的數據上
⑷ python讀取txt的數據 並再次寫入語言中
使用open函數打開文件,返迴文件句柄
使用文件句柄的read方法讀取文件內容
f = open('/path/to/the/file.txt')
txt = f.read()
txt文件的內容將會讀取待txt變數中
⑸ python文件的創建、寫入、讀取
最近在構思如何 本地化股票數據 ,覺得有必要復習一下python對文件的創建、寫入、和讀取。
首先先了解一下對於文件的處理都有常用函數:
open(path, mode):生成文件對象。
參數說明:path文件路徑、mode文件的操作模式
文件的操作模式說明
1、寫入模式:『w』創建、『wb』創建二進制、『a』追加內容、『ab』二進制形式追加內容(另外如在後面添加『+』號,附加讀取功能如:『w+』)
可用write()、writelines()寫入內容、close()保存文件
注意:windows系統在輸入寫入中文時,輸入參數 encoding=『utf-8』
可用read()函數對文件內容進行讀取
注意:讀取的內容是從結尾開始的,用seek(0)函數指定讀取位置為開頭
這里我用『w+』模式來舉例
2、讀取模式:『r』讀取內容、『rb』讀取二進制內容(區別於寫入模式的讀取,讀取模式從開頭開始讀取)
除了read()、還有readline()調用一次返回一行數據、readlines()返回每行數據list
另外還有mode屬性:看查文件對象的模式、closed屬性:判斷文件是否關閉、name屬性:返迴文件名
這里我還要介紹一個關鍵字with,他是一個表達式能為調用的文件對象別名,且自動關閉文件。
⑹ 如何用python將變數及其值寫入文本文件
你的縮進有問題,這樣就好了。
x=5
y=2
z=x+y
f=open('test-i.dat','a+')
f.write(str("x=")+str(x)+' ')
f.write(str("y=")+str(y)+' ')
f.write(str("z=")+str(z)+' ')
f.close()