首页 > 代码库 > <03day>_文件操作与函数
<03day>_文件操作与函数
一、字符转码操作:
【encoding】
二、文件操作--【读】
1、文件--读操作
f = open("db",‘r‘,encoding=‘utf-8‘) #"r" 为读模式 data = http://www.mamicode.com/f.read() # 读取文件内容【read():读方法】 print(data)
2、读取文件第一行
f = open("db",‘r‘,encoding=‘utf-8‘) data1 = f.readline() #readline()方法,读取文件第一行内容 print(data1)
3、设置光标从第几个字符开始读取【.seek()方法的使用】
f = open("db",‘r‘,encoding=‘utf-8‘) f.seek(0) #seek(0)意思是从第1个字节开始读取 data2 =f.readline() print(data2) print(f.tell()) # 打印出光标所在的位置 --------------------------------------------------------------------- f.seek(3) #默认情况,是以文件起始位置作为开始,往后移动3个bytes f.seek(2,1) #1 代表以当前光标所在的位置为开始,往后移动2个 bytes f.seek(-1,2) #2表以当前光标所在的位置为开始,往后移动2个 bytes
4、一行一行读取全文,并以列表形式展示
f = open("db",‘r‘,encoding=‘utf-8‘) data3 =f.readlines() #读取文件的所有行,以列表形式展示 print(data3)
三、文件操作--【写】
1、文件的写模式
f1 = open(‘zhaosj.txt‘,‘w‘,encoding=‘utf-8‘) # ‘w‘ 读模式(读模式打开文件,会把源文件覆盖) ------------------------------------------------------------------------------------------- #以‘w‘模式打开a.txt文件,如果有此文件则会覆盖此文件的内容,无此文件则会创建此文件,把内容写进去。 f=open(‘a.txt‘,‘w‘) f.write(‘111111\n‘) # 在文件中输入111111再加上换行 f.close() # 关闭文件
四、文件的各种操作--【读写、写读、追加并且读】
f=open(‘a.txt‘,‘r+‘) # 读写 f=open(‘a.txt‘,‘w+‘) # 写读 f=open(‘a.txt‘,‘a+‘) # 追加并且读
五、文件的上下文操作使用
普通办法操作---文件结尾必须添加.close()关闭文件的方法
f=open(‘a.txt‘,‘w‘) data = f.read() print(data) f.close()
上下文操作----文件结尾不用添加.close()关闭文件的方法
# 可以连着使用withopen(‘a.txt‘,‘r‘,encoding=‘utf-8‘) as f,open(‘b.txt‘) as b_f:
with open(‘a.txt‘,‘r‘,encoding=‘utf-8‘) as f: print(f.read())
六、使用range方法打印出3以内的数
#!/usr/bin/python # -*- coding:utf-8 -*- # Author:zhaosj for i in range(3): print(i)
七、while 循环 + else 使用方法
#!/usr/bin/python # -*- coding:utf-8 -*- # Author:zhaosj i=0 # i 的初始值为0 while i< 5: # while循环i小于5的数 print(i) i+=1 # 计数器,每循环1次就加1 if i == 3: # if判断,判断 i等于3的时候则break终止所有循环 break else: # 否则,i 大于3.则执行print print(‘------>‘)
八、二进制文件读取【文本方式读不了二进制文件】二进制文件包括:图片、视频、音频文件
错误操作:这样操作会报错
f=open(‘sb.jpg‘,‘r‘,encoding=‘utf-8‘) # 文本的方式读不了二进制文件 print(f.read())
正确操作:
with open(‘sb.jpg‘,‘rb‘) as read_f, open(‘sb_alex.jpg‘,‘wb‘) as write_f: # 先读取文件赋值给read_f,写模式赋值给write_f data=http://www.mamicode.com/read_f.read() write_f.write(data)
----------------------------------------------Python中的函数------------------------------------------------------
一、在python中函数分两类:内置函数,自定义函数
1、内置函数
sum、max、min、
a = len(‘hello‘) print(a) --------------------- b = max([1,2,3]) print(b)
二、函数的参数分两种:形参(变量名),实参(值)
定义阶段
def foo(x,y): #x=1,y=2 print(x) print(y)
调用阶段
foo(1,2)
三、详细的区分函数的参数分为5种:
位置参数,关键字参数,默认参数,可变长参数(*args, **kwargs),命令关键字参数
1、位置参数
def foo(x,y,z): # 位置型参:是必须被传值的参数 print(x,y,z) foo(1,2,3) # 位置实参:与型参一一对应
运行结果:
2、关键字参数:key=value
def foo(x,y,z): print(x,y,z) foo(x=3,z=6,y=8)
运行结果:
关键字参数需要注意的问题:
<1>、关键字实参必须在位置实参后面。
<2>、不能重复对一个型参传值。
foo(1,z=6,y=9) # 正确 foo(x=1,2,z=7) # 错误
3、默认参数
def register(name,age,sex=‘male‘): # 型参:sex=‘male‘为默认参数 print(name,age,sex) register(‘mog‘,39) register(‘moh‘,age=27)
运行结果:
默认参数需要注意的问题:
<1>、默认参数必须跟在非默认参数后面
def register(sex=‘male‘,name,age) # 在定义阶段就会报错 print(name,age,sex)
<2>、默认参数的值通常定义成不可变类型
4、可变长参数
<03day>_文件操作与函数