文件——python学习笔记4

文件

为了长期保存数据以便重复使用、修改和共享, 必须将数据以文件的形式存储到外部存储介质。 
Python中,文件分为文本文件和二进制文件两类: 
	1.文本文件存储的是常规字符串,由若干文本行组成,通 常每行以换行符‘\n’结尾。 
	2.二进制文件把对象内容以字节串(bytes)进行存储,无法 用记事本或其他普通字处理软件直接进行编辑。

1.文本的基本处理:

打开文件 :
		建立磁盘上的文件与程序中的对象相关联 
		通过相关的文件对象获得 
文件操作:
 		读取 
 		写入 
 		定位 
	 	其他:追加、 计算等 
 关闭文件 :
 		切断文件与程序的联系
 		写入磁盘,并释放文件缓冲区 
open() 
<variable> = open (<name>, <mode>)   <name>磁盘文件名       <mode>打开模式 

模式说明 :

r 读模式(默认模式,可省略),如果文件不存在则抛出异 常 
w 写模式,如果文件已存在,先清空原有内容 
x 写模式,创建新文件,如果文件已存在则抛出异常 
a 追加模式,不覆盖文件中原有内容 b二进制模式(可与其他模式组合使用) 
t 文本模式(默认模式,可省略) 
+ 读、写模式(可与其他模式组合使用)

文件打开:

fp = open('test.txt', 'a') 
print('Hello,world!', file = fp) 
fp.close() 

文件常用属性:

closed   判断文件是否关闭,若文件被关闭,则返 回True 
mode     返回文件的打开模式 
name     返回文件的名称
def main():    
	fname=input("input file name:")   
	infile=open(fname,"r",encoding="utf-8")    
	print(infile.mode)    
	infile.close()    
	print(infile.closed)    
	print(infile.name) 
main()

在这里插入图片描述

2.with-自动关闭文件资源

with open('sample.txt','a+') as f:     
	f.write(s)

3.文件的读取:

read() 返回值为包含整个文件内容的一个字符串。 
readline() 返回值为文件下一行内容的字符串。 
readlines() 返回值为整个文件内容的列表,每项 是以换行符为结尾的一行字符串
def main():
    fname=input("input file name:")
    infile=open(fname,"r",encoding="utf-8")
    data=infile.read()
    print(data)
main() 

在这里插入图片描述

encoding文件编码方式

ASCII码    7个二进制编码,表示128个字符    
Unicode    跨语言跨平台(定长2个字节)    
UTF-8      可变长的Unicode码    
gbk        可支持中文编码
#读取并输出文件前5行
def main():
    fname=input("input file name:")
    infile=open(fname,"r",encoding='utf-8')
    for i in range(5):
        line=infile.readline()
        print(line)
main()

在这里插入图片描述

4.写入文件:

从计算机内存向文件写入数据

write():       把含有文本数据或二进制数据块的字符串 写入文件中。 
writelines():  针对列表操作,接受一个字符串列表 作为参数,将它们写入文件。
outfile=open("outfile.txt","w") 
outfile.writelines(["hello","  ","world"]) 
outfile.close() 
infile=open("outfile.txt","r") 
line=infile.readline() 
print(line)

在这里插入图片描述

5.遍历文件:

通用代码框架:

file = open (someFile, "r") 
for line in file.readlines(): #处理一行文件内容 
file.close() 

简化代码框架:

file = open (someFile, "r") 
for line in file: #处理一行文件内容 
file.close() 

6.文件的拷贝:

def filecopy():    
	f1=input("f1:").strip()
    f2=input("f2:").strip()
    infile=open(f1,"r")
    outfile=open(f2,"w")
    countlines=countchars=0    
    for line in infile:        
	    outfile.write(line)        
	    countlines+=1       
	    countchars+=len(line)    
    outfile.close()    
    print("countlines:",countlines,"  countchars:",countchars) 
filecopy()

在这里插入图片描述

python操作word文档:
安装python-docx

	pip install python-docx 

主要操作对象 、

Document对象,表示一个word文档。 
	file=docx.Document(“文件名”)  #打开文档 
Paragraph对象,表示word文档中的一个段落 
	file.paragraphs() #文档中所有段落 
	Paragraph对象的text属性,表示段落中的文本内容。 
段落对象.text #段落文本内容 
	os.listdir() #加载某个目录下的所有文件

python操作excel文档:

openpyxl:主要针对xlsx格式的excel进行读取和 编辑。

安装:

pip install openpyxl 

主要方法:

创建一个工作薄:wb = openpyxl.Workbook() 
新增一个sheet表单:wb.create_sheet('test_case') 
保存case.xlsx文件:wb.save('cases.xlsx') 
打开工作簿:wb = openpyxl.load_workbook('cases.xlsx') 
选取表单:sh = wb['test_case']

读取第一行、第一列的数据:ce = sh.cell(row = 1,column = 1) 
					    ce.value
按行读取数据:row_data = list(sh.rows)
             row_data[index].value  
关闭工作薄:wb.close() 
按列读取数据:columns_data = list(sh.columns)
写入数据之前,该文件一定要处于关闭状态 
写入第一行、第四列的数据 value = 'result':sh.cell(row = 1,column = 4,value = 'result') 
获取最大行总数、最大列总数:sh.max_row、 sh.max_column 
del 删除表单的用法:del wb['sheet_name'] 
remove 删除表单的用法:sh = wb['sheet_name'] 
				      wb.remove(sh)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值