|
Python读取、写入txt文件
文件的打开的两种方式
- f = open("data.txt","r") #设置文件对象
- f.close() #关闭文件
- #为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
- with open('data.txt',"r") as f: #设置文件对象
- str = f.read() #可以是随便对文件的操作
复制代码一、读文件 1.简单的将文件读取到字符串中 - f = open("data.txt","r") #设置文件对象
- str = f.read() #将txt文件的所有内容读入到字符串str中
- f.close() #将文件关闭
复制代码2.按行读取整个文件 - #第一种方法
- f = open("data.txt","r") #设置文件对象
- line = f.readline()
- line = line[:-1]
- while line: #直到读取完文件
- line = f.readline() #读取一行文件,包括换行符
- line = line[:-1] #去掉换行符,也可以不去
- f.close() #关闭文件
-
- #第二种方法
- data = []
- for line in open("data.txt","r"): #设置文件对象并读取每一行文件
- data.append(line) #将每一行文件加入到list中
- #第三种方法
- f = open("data.txt","r") #设置文件对象
- data = f.readlines() #直接将文件中按行读到list里,效果与方法2一样
- f.close() #关闭文件
复制代码 3.将文件读入数组中 - import numpy as np
- data = np.loadtxt("data.txt") #将文件中数据加载到data数组里
复制代码 二、写文件 1.简单的将字符串写入txt中 - with open('data.txt','w') as f: #设置文件对象
- f.write(str) #将字符串写入文件中
复制代码2.列表写入文件 - 单层列表
- data = ['a','b','c']
- #单层列表写入文件
- with open("data.txt","w") as f:
- f.writelines(data)
复制代码- 双层列表
- #双层列表写入文件
- #第一种方法,每一项用空格隔开,一个列表是一行写入文件
- data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
- with open("data.txt","w") as f: #设置文件对象
- for i in data: #对于双层列表中的数据
- i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n' #将其中每一个列表规范化成字符串
- f.write(i) #写入文件
- #第二种方法,直接将每一项都写入文件
- data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
- with open("data.txt","w") as f: #设置文件对象
- for i in data: #对于双层列表中的数据
- f.writelines(i) #写入文件
复制代码3.数组写入文件中 - #将数组写入文件
- import numpy as np
- #第一种方法
- np.savetxt("data.txt",data) #将数组中数据写入到data.txt文件
- #第二种方法
- np.save("data.txt",data) #将数组中数据写入到data.txt文件
复制代码
测试示例代码如下,在python2.7+win10下通过: - # coding:utf-8
- #写入单行数据
- data = ['a','b','c']
- #单层列表写入文件
- with open("data.txt","w") as f:
- f.writelines(data)
- #读取TXT文本内容
- f = open("data.txt","r") #设置文件对象
- str = f.read() #将txt文件的所有内容读入到字符串str中
- f.close() #将文件关闭
- print(str)
复制代码运行结果:
|
|