python文件操作
//2019.12.09
Python文件操作大全
1、Python文件的类型主要有两种:文本文件和二进制文件。
2、操作文件的流程主要有三步:打开-操作-关闭操作。
3、文件的打开和关闭操作函数:
(1)open()函数可以用来打开文件,使用的方法格式如下:
变量名=open(文件路径和文件名,打开模式),其中打开模式主要有以下几种:r,w,x,a,b,+等,具体使用方法介绍如下:
(2)文件的关闭主要是用函数close来进行关闭,变量.close()可以进行文件的关闭操作。
4、对于文件的读写操作:
(1)read和ReadLine操作在文件的读取操作时它会记录上次读取的位置,继续往下读取
(2)ReadLines是将原来文件的最初的每一行内容输出为列表。
(3)f.seek(x)x只有两个选择:0表示开头,2表示文件结尾,可以修改文件读写时的指针位置。
5、文件的遍历操作也是将每一行内容赋值给遍历的变量,在不断地进行文件的写write操作时,之所以是覆盖操作,主要是因为write函数的默认开始指针位置是文件的开始地方,所以为了不断地继续往下添加内容,需要我们自己在每一步操作的后面加一个换行操作,我们需要在每一步下操作后面添加一个换行操作,使得指针开始的位置是在下一行开头。
6、数据的组织形式一般有三种形式:一维数据,二维数据,多维数据。
7、一般一维数据使用列表的形式来表示。对于数据的存储,并不是用列表表示这么简单,表示不代表存储,一维数据的存储一般采用",".join(ls)来进行数据的存储,储存为csv文件。
8、对于二维数据的存储与转换的方式主要如以下所示:
(1)列表二维数据存储为csv文件如下所示:
ls=[["指标","2014年","2015年","2016年"],
["居民消费价格指数","102","101.4","102"]]
f=open("cp.csv","w")
for i in ls:
f.write(",".join(i)+"\n")
f.close()
(2)文件转换为列表文件操作:
f=open("cp.csv","r")
ls=[]
for i in f:
a=i.strip("\n")
print(a)
b=a.split(",")
print(b)
ls.append(b) #集合在一起的形式可以写为ls.append(i.strip("\n").split(",")) #首先将每一行之前所存在的换行操作去掉,之后进行逗号的分割,然后输出为列表像是
f.close()
print(ls)
2019-12-09-python文件操作学习训练代码如下所示:
#Python文件操作大全
#读写操作
f=open("E://Study File-YJY//python学习//a.txt","rb") #覆盖写操作,其中添加b的后缀主要是为了二进制的形式输出和输入
f1=f.readline() #只读第一行的内容
print(f1)
f.close()
#在PythonTXT文件的每一行内容前面添加一个“大数据时代”的字符串
f=open("E://Study File-YJY//python学习//a.txt","r+") #覆盖写操作,读写操作,主要是进行后缀写操作
f1=f.readlines() #读每一行的内容,并且将其储存为列表的形式
for i in range(len(f1)):
f1[i]="大数据时代"+f1[i]
print(f1)
f=open("E://Study File-YJY//python学习//a.txt","w+") #覆盖写操作
f.writelines(f1)
print(f.read())
f.close()
#创建写操作
f=open("E://Study File-YJY//python学习//g3.txt","w+") #覆盖写操作,如不存则将新建一个文件
f.write("大数据与数据挖掘")
print(f.read())
f.close()
#文件的读写操作
f=open("a.txt","w+")
f.write("床前明月光,疑是地上霜。\n举头望明月,低头思故乡!")
f=open("a.txt","r")
print(f.readline(3))
print(f.read()) #不管是read还是readline函数斗湖都会记录下文件上次读取的地方,继续向下读下去
f.seek(0) #将文件的指针位置重新返回到w文件的开头位置,重新进行开始读写操作。
print(f.read())
f.close()
#一般文件的写操作
f=open("c.txt","w")
f.write("大数据与数据挖掘技术实现方法介绍\n")
f.write("云计算与物联网技术实现方式") #在进行文件的写操作时,之所以是覆盖草操作,主要是因为write函数的默认开始指针位置是文件的开始地方,所以为了不断地继续往下添加内容,需要我们自己在每一步操作的后面加一个换行操作,
f.close()
f=f=open("c.txt","r")
print(f.read())
f.close()
#一维数据的存储方式主要使用join函数来进行存储为csv文件或者TXT文件
ls=["北京","上海","天津","重庆"]
f=open("city1.csv","w")
f.write(",".join(ls)) #将一维数据存储为csv文件,逗号分隔值格式
f.close()
#将一维数据的csv文件恢复为list列表文件
f=open("city1.csv","r")
ls=f.read()
ls_new=ls.split(",")
print(ls_new) #将存储为csv的文件恢复为list文件
#二维数据的存储和恢复读取操作
ls=[["指标","2014年","2015年","2016年"],
["居民消费价格指数","102","101.4","102"]]
f=open("cp.csv","w")
for i in ls:
f.write(",".join(i)+"\n")
f.close()
f=open("cp.csv","r")
ls=[]
for i in f:
a=i.strip("\n")
print(a)
b=a.split(",")
print(b)
ls.append(b) #集合在一起的形式可以写为ls.append(i.strip("\n").split(",")) #首先将每一行之前所存在的换行操作去掉,之后进行逗号的分割,然后输出为列表像是
f.close()
print(ls)