python笔记四(修改文件,全局变量,内置函数,模块,递归,json文件)

今天继续学习Python,修改文件。

一,往文件里面添加数据,内存里面有缓冲区,等缓冲区满了再把数据写到磁盘里面。

1 fw = open('username','w')
2 fw.write('ddd')
3 fw.flush()#强制把缓冲区里面的数据写到磁盘上(只有遇到,你写完东西没有立马存到文件里面,那么就是用fw.flush()这个方法)

二,简单粗暴直接修改文件

分析思路:

1,打开一个文件,获取到他的所有内容。
2.对内容进行修改。
3.清空原来文件的内容。
4.把新的内容写进去。
 1 #修改文件内容,把原来的密码‘123’都修改为‘1234’
 2 f=open('username','a+',encoding='utf-8')
 3 f.seek(0)
 4 all_str=f.read()
 5 new_str=all_str.replace('123','1234')
 6 f.seek(0)
 7 f.truncate()#清空文件内容
 8 f.write(new_str)
 9 f.close()
10 
11 #下面这个方法是给用户名增加一个前缀
12 f=open('username','a+',encoding='utf-8')
13 f.seek(0)
14 all_str=''
15 for line in f:
16     i='syz'+line
17     all_str=all_str+i
18 f.seek(0)
19 f.truncate()
20 f.write(all_str)
21 f.close()
22 
23 f.write()#写的时候只能写字符串
24 f.writelines(['a','b'])#可以直接把list写进文件(因为他能帮助我们循环)

(B)快速修改文件,通过两个文件进行修改

 1 # 打开2个文件
 2 # a文件
 3 # 写一行写到b文件
 4 # a.txt  a.txt.bak
 5 #删掉a文件,b文件名字改为a文件名
 6 import os
 7 with open('words',encoding='utf-8') as fr,open('.words.bak','w',encoding='utf-8') as fw:
 8     for line in fr:
 9         new_line = line.replace('','flower')
10         fw.write(new_line)
11 os.remove('words')#删除文件
12 os.rename('.words.bak','words')#修改文件名

三,函数。

函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。

定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。

四,使用函数的好处

1、简化代码
2、提高代码的复用性
3、代码可扩展

五。python中函数的定义:

定义函数使用def关键字,后面是函数名,函数名不能重复

简单的定一个函数:

1 def sayHello():#函数名
2     print('hello')#函数体
3 
4 #函数不调用是不会被执行的
5 # sayHello()#调用函数

六,函数的参数(实参,形参)

函数在调用的时候,可以传入参数,有形参和实参

形参:

形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。

实参:

实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。函数调用结束返回主调用函数后则不能再使用该形参变量。

 

posted @ 2018-04-20 11:21  whereis  阅读(1039)  评论(0编辑  收藏  举报