Python操作读写txt文件
比較常用的文件讀寫選項:?
r+讀寫模式
w+寫讀模式
a追加寫模式
a+追加讀模式,因為文件值在最后,所以需要先seek(0)到文件開頭,然后再讀
‘r’以讀的方式打開,只能讀文件,若文件不存在,則發生異常;?
‘w’以寫的方式打開,只能寫文件,如果文件不存在,創建該文件;如果文件已存在,先清空,再打開文件;?
‘rb’以二進制方式打開,只能讀文件,如果文件不存在,會發生異常;?
‘wb’以二進制方式打開,只能寫文件,如果文件不存在,創建改文件;如果文件已存在,先清空,再打開文件;?
‘rt’以文本讀方式打開,只能讀文件,如果文件不存在,則發生異常;?
‘wt’以文本寫方式打開,只能寫文件,如果文件不存在,創建該文件,如果文件已存在,先清空,再打開文件;?
‘rb+’以二進制讀方式打開,可以讀、寫文件,如果文件不存在,會發生異常;?
‘wb+’以二進制寫方式打開,可以讀、寫文件,如果文件不存在,創建該文件;如果文件存在,先清空,在創建文件;
寫入txt文件
with open('文件路徑','w') as f:
? ? ?f.write('寫入內容必須是字符串')? #自帶文件關閉功能
1、實參‘w’告訴python以寫入模式打開文件。打開文件時,可以指定讀取方式('r':讀取 ?'w':寫入 ?‘a’ 附加 ?'r+' 讀取和寫入 ?)默認為只讀模式。
2、若寫入的文件不存在,函數open()將自動創建。
3、以w寫入模式打開文件時,每次寫入都會清空之前內容,寫入新的內容
4、以a追加模式打開文件時,每次寫入不會清空之前內容,會從末尾繼續追加內容
5、寫入必須是字符串格式,如果不是字符串,寫入前需轉為字符串格式
6、函數write不會在寫入文本末尾自動換行,如果要換行,需添加換行符
7、寫入中文encoding='utf-8',with open('1.txt','w',encoding='utf-8') as f:
#以寫入模式寫入多行并內容換行顯示: with open('1.txt','w') as f:f.write('["ython","c++","java"]\n')f.write('(a,b,c)\n')f.write('{"username":"wangli","password":123456}\n')f.write('I love English too!')txt內顯示如下: ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!#以追加模式寫入多行并內容換行顯示: with open('1.txt','a') as f:f.write('["ython","c++","java"]\n')f.write('(a,b,c)\n')f.write('{"username":"wangli","password":123456}\n')f.write('I love English too!\n')txt內顯示如下: ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!#writelines以寫入模式寫入列表類:data =[ ['a','b','c'],['a','b','c'],['a','b','c']] with open("1.txt","w") as f: for i in data: f.writelines(i)txt內顯示如下: abcabcabc?
讀取txt文件
1、讀取出來是字符串格式
2、若讀取的文件不存在,會報錯。
3、讀取文件后,文件值會在最末尾,如果想再讀取,需要seek(0)到文件最開始
read()一次性讀全部內容
一次性讀取文本全部內容,以字符串的形式返回結果
txt內容: ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!#read()讀取全部內容 with open('1.txt','r') as f:print(f.read(),type(f.read()))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too! <class 'str'>Process finished with exit code 0readline()讀取第一行內容
只讀取文本第一行的內容,以字符串的形式返回結果
txt內容: ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!#readline()讀取一行 with open('1.txt','r') as f:print(f.readline(),type(f.readline()))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py ["ython","c++","java"]<class 'str'>Process finished with exit code 0#readline()循環讀取每行,避免讀取文件太大 with open('1.txt','r') as f:for i in f:print(i,type(i))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py ["Python","c++","java"]<class 'str'> (a,b,c)<class 'str'> {"username":"wangli","password":123456}<class 'str'> I love English too! <class 'str'>Process finished with exit code 0readlines()列表
讀取文本所有內容,并且以數列的格式返回結果,一般配合for in使用
txt內容: ["ython","c++","java"] (a,b,c) {"username":"wangli","password":123456} I love English too!#readlines()讀取全部放到list里面 with open('1.txt','r') as f:print(f.readlines(),type(f.readlines()))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py ['["ython","c++","java"]\n', '(a,b,c)\n', '{"username":"wangli","password":123456}\n', 'I love English too!'] <class 'list'>Process finished with exit code 0split() 方法語法:
str.split(str="", num=string.count(str)).
-
str -- 分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
-
num -- 分割次數。默認為 -1, 即分隔所有。
strip()方法語法:
Python strip() 方法用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。
注意:該方法只能刪除開頭或是結尾的字符,不能刪除中間部分的字符。
str.strip([chars]);
-
chars -- 移除字符串頭尾指定的字符序列。
?
總結
以上是生活随笔為你收集整理的Python操作读写txt文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金蝶云系统服务器,金蝶系统云服务器已离线
- 下一篇: 【Python】hashlib模块实现M