详解Python文件读写操作

296次阅读
没有评论

详解Python文件读写操作

读文件

打开文件(文件需要存在)

#打开文件
f = open("data.txt","r")   #设置文件对象
print(f)#文件句柄
f.close() #关闭文件
#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f:    #设置文件对象
    str = f.read()    #可以是随便对文件的操作

完全读取文件

#完全读取文件
f = open("data.txt","r")   #设置文件对象
string1 = f.read()     #将txt文件的所有内容读入到字符串string1中
f.close()   #将文件关闭
print(string1)

按按行读取整个文件方法一(删除回车)

#按行读取整个文件方法一(删除回车)
data = []
f = open("data.txt","r")   #设置文件对象
line = f.readline()
if line !='\n' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去
    line_ = line[:-1]
data.append(line_)
while line:             #直到读取完文件
    line = f.readline()  #读取一行文件,包括换行符
    if line !='' and  line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去
        line_ = line[:-1]
        data.append(line_)
f.close() #关闭文件
print(data)

按行读取整个文件方法一(不删除回车)

#按行读取整个文件方法一(不删除回车)
data = []
f = open("data.txt","r")   #设置文件对象
line = f.readline()
data.append(line)
while line:             #直到读取完文件
    line = f.readline()  #读取一行文件,包括换行符
    if line !='':
        data.append(line)
f.close() #关闭文件
print(data)

按行读取整个文件第二种方法

#按行读取整个文件第二种方法
data = []
for line in open("data.txt","r"): #设置文件对象并读取每一行文件
    data.append(line)               #将每一行文件加入到list中
print(data )

写文件

列表写入文件

#列表写入文件(直接)
data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:
    f.writelines(data)
#列表写入文件(加入一些东西)    
data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:
    for i in data:
        f.write(i+'\r\n')
 #二维列表写入文件       
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('\'','').replace(' ',',')+'\r\n'  #将其中每一个列表规范化成字符串
        print(i)
        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)
#将数组写入文件
import numpy as np
data =[ [1,2,3],[4,5,6],[7,8,9]]
# 第一种方法将数组中数据写入到data.txt文件
np.savetxt("data1.txt",data)  
# 第二种方法将数组中数据写入到data.npy文件
np.save("data",data)
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-07-06发表,共计2537字。
新手QQ群:570568346,欢迎进群讨论 Python51学习