python基础4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础4相关的知识,希望对你有一定的参考价值。

打开文件方式:
f = open(‘db.txt‘,mode=‘r‘,encoding=‘utf-8‘) #打开文件,默认是只读,可以不加‘r’参数
fi=f.read() #可以不定义该变量,直接只写print(f.read()
print(fi) #读所有,bytes---decode(‘utf-8‘)--->str
f.close() #回收操作系统的资源
#流程分析:
#1:向操作系统发起系统调用
#2:操作系统打开这个文件,返回一个文件句柄给应用程序
#3: 在应用程序中把文件句柄赋值给一个变量
#注意两点:
#1:打开一个文件对应两部分,一个Python级别的文件句柄,另外一个是操作系统打开的文件(默认
#打开文件的编码是以操作系统的编码为准的,除非open()指定encoding=‘编码‘ )
#2:当文件操作完毕后,应该回收两部分资源,
#del f:回收应用程序资源(python解释器自动的垃圾回收机制已经替我们做了,所以可以省略)
#f.close:回收操作系统

with open(‘db.txt‘,mode=‘r‘,encoding=‘utf-8‘) as f:
print(f.read())
f.close()
#with 确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。


f = open(‘db.txt‘,encoding=‘utf-8‘)
print(f.readlines()) #读所有,并以列表的形式展现
f.close()

f = open(‘db.txt‘,encoding=‘utf-8‘)
print(f.readline()) #一次打印一行内容,多个readline则结果显示多行内容
print(f.readline())
f.close()

往文件写的方式:
f = open(‘db.txt‘,mode=‘w‘,encoding=‘utf-8‘)
f.write(‘fffff\n‘) #如果文件不存在则穿件,如果文件存在则清空文件再往里写内容
f.write(‘gggg\n‘) #写多个write函数,则网文件中添加多行内容,\n是换行符号
f.write(‘hhhhh‘)
f.close()


l=[‘444\n‘,‘55555\n‘,‘66666\n‘]
f = open(‘db.txt‘,mode=‘w‘,encoding=‘utf-8‘)
for i in l: #通过for循环向文件写多行内容
f.write(i)
f.close()

l=[‘444\n‘,‘55555\n‘,‘66666\n‘]
f = open(‘db.txt‘,mode=‘w‘,encoding=‘utf-8‘)
f.writelines(l) #效果与上述for循环效果相同
f.close()

往文件追加内容:
l=[‘444\n‘,‘55555\n‘,‘66666\n‘]
f = open(‘db.txt‘,mode=‘a‘,encoding=‘utf-8‘)
f.writelines(l)
f.close()
#a:追加写模式,如果文件存在则把光标移动到文件末尾,如果文件不存在则新建

遍历文件所有所有内容:
f = open(‘db.txt‘,mode=‘r‘,encoding=‘utf-8‘)
for i in f:
print(i,end=‘‘)
f.close()

以bytes的形式去操作文件内容,不能指定编码:
with open(‘hezi.jpg‘,mode=‘rb‘) as f: #以二进制文件方式打开非字符文件
print(f.read())

复制文件练习
s = input(‘输入源文件:‘)
d = input(‘输入目标文件:‘)
with open(s,‘rb‘) as read_f,open(d,‘wb‘) as write_f:
for line in read_f:
write_f.write(line)
#以二进制的方法复制包括字符或者非字符文件






















































以上是关于python基础4的主要内容,如果未能解决你的问题,请参考以下文章

python基础笔记-4python删除两个列表中相同的元素

python开发基础模块

Python 基础索引

Python-系列-[基础学习]-[数据类型]

python基础知识第一节

目录Python自动化开发之路