Day4:python之文件操作、函数初识(2)
又是一周过去了,感觉我接受新知识有点慢啊,脑子跟不上还是怎么着呢,那也没办法,慢慢学吧,也不能放弃啊。
一、记住非空即真、非零即真
二、操作文件
只读模式:r ,打开不存在的文件会报错,r 模式不能写
写模式:w ,打开不存在的文件会新建一个文件,会清空原有文件;不能读
追加模式:a ,打开不存在的文件,会新建一个文件,不会清空;不能读
readline:读取一行的内容
readlines:读取文件里边所有的内容,把每行的内容放到一个list里边
读写模式:
r+:能写;打开不存在的文件会报错
w+:写读模式
a+:追加读模式,这种方法最好
a+能读,但读不到内容的原因:因为a是追加,追加的内容在最后,文件指针在最后,所以读不到内容,主要移动文件指针
三、读大文件、修改文件
读大文件,需一行行读
方法1:
# f = open('users,'a+') #文件对象,或者文件句柄 指打开文件之后那个f
# d={}
# while 1: #第一种, 但是要求文件里边不能有空行
# line = f.readline().strip()
# if line:
# user,password=line.strip(',')
# d[user]=password
# else:
# break
方法2:
直接循环文件对象,每次取的就是文件里的每一行
# for line in f:
# print('每次循环的是',line)
修改文件:
with open('user.txt','a+') as fw: #会自动关文件 ,小文件适合
# fw.seek(0)
# result = fw.read()
# new_result=result.replace('xiaohei','java')
# fw.seek(0)
# fw.truncate() #清空文件内容
# fw.write(new_result)
四、函数初识:
实现某些功能的一些代码,提高代码的复用性,函数必须被调用才会被执行;函数里边定义的变量;局部变量,只要一出了函数都不能用了
例子:
def hello():
print('hello')
hello() #调用函数:函数名后面+()
def write_file(file_name,content): #入参 content:局部变量
#形参,形式参数
with open(file_name,'a+',encoding='utf-8') as fw:
fw.write(content)