python学习之路 – python的文件操作
目录
一、python文件操作
1、文件的编码
a、概念
计算机只能识别0和1,所以需要用编码技术将内容翻译成0和1
b、编码分类
除非有特殊要求,否则一般都用此编码
2、文件的读取
a、打开文件
open(name,mode,encoding=‘’)
#只读模式打开1.txt文件
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
结果:
欢迎大家
来到骨力
的
CSDN
这里可以学很多知识噢!
with open(name,mode,encoding=‘’) as f:
with open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8') as f:
ff = f.readlines()
print(ff)
结果:
['欢迎大家\n', '来到骨力\n', '的\n', 'CSDN\n', '这里可以学很多知识噢!']
a、读取文件字节
read(num)
#读取文件1.txt前13个字符内容
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
print("第一次调用:",f.read(13))
print("第二次调用:",f.read(15))
结果:
第一次调用: 欢迎大家
来到骨力
的
C
第二次调用: SDN
这里可以学很多知识噢!
c、读取文件行
readlines()
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
lines = f.readlines()
print(lines)
结果:
['欢迎大家\n', '来到骨力\n', '的\n', 'CSDN\n', '这里可以学很多知识噢!']
readline()
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
line = f.readline()
print(line)
结果:
欢迎大家
d、for循环的读取
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
for line in f:
a = line.replace('\n', '')
print(f"每一行的数据是:{a}")
结果为:
每一行的数据是:欢迎大家
每一行的数据是:来到骨力
每一行的数据是:的
每一行的数据是:CSDN
每一行的数据是:这里可以学很多知识噢!
3、文件的关闭
打开文件进行相关操作完毕后,需要调用close()方法,将文件关闭,否则程序会一直占用文件
#打开文件后关闭文件
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
f.close()
4、文件的写入
open(name,‘w’,encoding=‘utf-8’) #打开文件
f.write(字符串内容) #文件写入
f.flush #内容刷新
#创建新的文件2.txt,内容为"hello world"
f = open('C:/Users/HLY/Desktop/2.txt','w',encoding='utf-8')
f.write("hello world") #写入内容
f.flush() #刷新内容
f.close() #关闭文件,close方法内置了flush的功能
写可以直接调用close()方法
f = open('C:/Users/HLY/Desktop/2.txt','w',encoding='utf-8')
f.write("hello world") #写入内容
f.close() #关闭文件,close方法内置了flush的功能
5、文件的追加
open(name,‘a’,encoding=‘utf-8’) #打开文件
f.write(字符串内容) #文件写入
f.flush #内容刷新
f = open('C:/Users/HLY/Desktop/2.txt','a',encoding='utf-8')
f.write("hello world") #写入内容
f.flush() #刷新内容
f.close() #关闭文件,close方法内置了flush的功能
6、文件操作综合
a、案例一:读取字符个数
统计某文件中1的个数
方法一:
with open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8') as f:
rr = f.read()
print(rr.count("1"))
方法二:
num = 0
with open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8') as f:
for line in f:
split_list = line.split(" ")
for ii in split_list:
if ii.replace('\n','')=="1":
num += 1
print(f"包含1的个数有:{num}个")
b、案例二:复制文件
#将1.txt中的内容复制到2.txt中
f = open('C:/Users/HLY/Desktop/1.txt','r',encoding='utf-8')
f2 = open('C:/Users/HLY/Desktop/2.txt','w',encoding='utf-8')
for line in f:
f2.write(line)
f2.close()
f.close()
作者:骨力