Python3.29
文件操作:
文件操作也称IO操作,它有2种方式,一个是读,一个是写。
函数的特性:
1、函数有参数 X=f(y)---y是函数f的参数
open()函数:
干什么的:IO操作文件
参数:file:指的是被操作的文件 后面跟的是文件的名称,但是包含文件的地址
mode:通过什么方式进行操作文件(读or写?)
a:追加--在原先的基础上增加
w:写文件内容--把原先的清空然后写
r:读取文件的内容
encoding:编码(utf-8,gbk)--这个不是必须的,有乱码的时候写,这个要注意下 写的时候要以
encoding='utf-8' 这个样的形式写 不能省略前面的
写的操作:
1、不敢是否有文件,即使原先没有文件,open内部会自动创建一个文件,然后把写的内容写进去。
操作文件三步骤:
1、打开文件
2、操作文件(针对文件的读和写)
3、关闭文件(文件必须要关闭,不然会出现内泄漏)
文件的写:w
f=open(file='login.txt',mode='w',encoding='utf-8')
f.write('hello world')
f.close()
文件的追加:a
f=open(file='login.txt',mode='a',encoding='utf-8')
f.write('您好,世界')
f.close()
文件的读的操作:
1、文件存在那么从文件中读取数据
2、文件不存在,会报FileNotFoundError的错误信息,如[Errno 2] No such file or directory
先给文件写如一串数据
data='''hadoop
spark
hive
hbase
flik
kafka
'''
f=open('login.txt','w')
f.write(data)
f.close()
# 读取文件中的所有数据
f=open('login.txt','r')
print(f.read())

# 读取文件中第一行的数据
f=open('login.txt','r')
print(f.readline())

# 按行读取文件所有内容 并且取消空格
for item in f.readlines():
print(item.strip())
f.close()

with上下文:
它内部 可以对文件进行自动关闭,这样避免了操作文件忘记关闭
# with open('login.txt','w')as f:
# f.write('wuya')
# with open('login.txt','r')as f:
# print(f.read())
# with open('login.txt','a',encoding='utf-8') as f:
# f.write('您好')
函数:
所谓函数,就是把重复的代码单独分离出来,放在一个公共的 地方,以后可以一直的进行调用,这样就可以解决多次重复来编写。
函数使用的关键字是def
for example:
def 函数名称(函数参数):
函数表达式
函数的调用
函数写完后,必须要经过调用才可以生效,如果不调用,不会生效
调用函数的方式是:函数名称()
def func():
print('hello world')
func()

形式参数:函数里面的参数叫形式参数
实际参数:函数被调用的时候,给参数赋予的值叫实际参数
默认参数:在定义函数的时候给形式参数指定了参数的值,默认参数只能放在形式参数的后面,如果2个都有默认参数,则调用函数的时候 不用写实际参数
动态参数:定义一个函数的时候,当函数的个数不确定,数据类型不确定的时候可以用动态参数,这个常用于接口测试。
函数调用的注意事项:
1、函数在调用的时候,可以填写形式参数,也可以不填写
2、要么都填写,要么都不填写
3、函数在调用的时候,填写的实际参数要与形式参数的顺序,个数保持一致
4、函数有形式参数的时候,调用函数必须填写实际参数
# *:代表的是元组的数据类型
def func(*args):
print(args)
print(type(args))
func(12,2,3)
func([1,2,3])
func({1,2,3})

# **代表的是字典的数据类型
def func(**kwargs):
print(kwargs)
print(type(kwargs))
func(name='wuya',age=18)
func(**{'name':'wuya'})

# 底下调用函数的时候参数可以写 也可以不写
def add(a,b):
print(a+b)
add(a=5,b=5)
add(5,5)

实战演练:
def login(username,password):
if username=='wuya'and password=='123456':
print("登陆成功")
else:
print('输出失败')
login(username='wuya',password='123456')

# 写入一个注册登陆文件并且输出它的用户名
def registry():
username=input('请输入您的姓名:\n')
passworld=input('请输入您的密码:\n')
temp=username+','+passworld
with open('login.txt','w',encoding='utf-8')as f:
f.write(temp)
registry()
with open('login.txt','r',encoding='utf-8')as f:
data=f.read().split(',')
print(data[0])


浙公网安备 33010602011771号