第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Python操作读写txt文件

Python操作读写txt文件

时间:2023-08-08 22:15:30

相关推荐

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 0

readline()读取第一行内容

只读取文本第一行的内容,以字符串的形式返回结果

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 0

readlines()列表

读取文本所有内容,并且以数列的格式返回结果,一般配合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 0

split() 方法语法:

str.split(str="", num=string.count(str)).

str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。

num -- 分割次数。默认为 -1, 即分隔所有。

txt内容:["Python","c++","java"](a,b,c){"username":"wangli","password":123456}I love English too!with open('1.txt','r') as f:print(f.read().split('\n'))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py['["Python","c++","java"]', '(a,b,c)', '{"username":"wangli","password":123456}', 'I love English too!']Process finished with exit code 0with open('1.txt','r') as f:print(f.read().split('\n'))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py['["Python","c++","java"]', '(a,b,c)', '{"username":"wangli","password":123456}', 'I', 'love', 'English', 'too!']Process finished with exit code 0

strip()方法语法:

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

str.strip([chars]);

chars -- 移除字符串头尾指定的字符序列。

txt内容:,["Python","c++","java"], (a,b,c), {"username":"wangli","password":123456}, I love English too ,with open('1.txt','r') as f:print(f.read().strip(','))"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py["Python","c++","java"], (a,b,c), {"username":"wangli","password":123456}, I love English too Process finished with exit code 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。