首页 > 代码库 > <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>_文件操作与函数