标签:通用 模块 缺点 turn rename imp 来源 open coding
控制文件指针移动
.seek移动的全都是字节个数
f.seek(字节个数,0) 0模式,指针始终在开头
f.seek(字节个数,1) 1模式,指针在当前位子
f.seek(字节个数,2) 2模式,指针在末尾
# 只有0模式可以t下使用,b模式下三种模式都可以用,无论哪种模式,移动的都是字节个数。
print(f.tell()) 打印出 指针当前位子
文件修改的两种方式
# 文件修改的原理:
# 把硬盘数据读入内存,在内存修改完毕后,在覆盖回硬盘。
# 有两种方案
# 方案一: 缺点:原文件过大,费内存。
with open(‘test.txt‘,‘rt‘,encoding=‘utf8‘) as f:
date=f.read()
with open(‘test.txt‘,‘wt‘,encoding=‘utf8‘) as f:
f.write(date.replace(‘egon‘,‘EGON‘))
个人总结:把原文本的内容读出来,用‘wt‘模式把修改后的文本内容写入原本文。
# 方案二:
import os
with open(‘test.txt‘,‘rt‘,encoding=‘urf8‘) as f1,
open(‘a.txt‘,‘wt‘,encoding=‘urf8‘) as f2:
for i in f1:
f.write(i.replace(‘egon‘,‘EGON‘)
os.remove(‘test.txt‘)
os.raname(‘a.txt‘,‘test.txt‘)
用自己的话总结:把原文本内容赋值给i,用‘wt‘模式创建新文本,
把i中的内容用.replace替换然后写入新文本中,os.remove(test.txt) 删除原文本
os.rename(‘a.txt‘,‘test.txt‘) 把新文本名替换成原文本名
函数
‘‘‘
1、什么是函数
函数就是盛放功能(一系列代码)的容器
定义函数就是造出了一个工具
函数的定义:事先准备工具的过程
函数的调用:遇到应用场景拿来就用
2、为何要用函数
不用函数写出的代码问题是:
1、程序的组织结构不清晰,可读性差,可维护性差
2、可扩展性差
3、如何用函数
原则:
先定义
后调用
定义函数的语法:
def 函数名(参数1,参数2,...):
代码1
代码2
...
return 值
# 可以没有参数和返回值
调用函数语法:
res = 函数名(值1,值2,值3)
# def add(x,y):
# res = x + y
# print(res)
#
# add(1,2)
‘‘‘
# 定义函数与调用函数
# 函数定义阶段发生的事情:申请内存空间,把函数体代码放进去,然后把内存地址绑定给函数名。
# 函数调用阶段发生的事情:执行函数体代码
# ps:函数定义阶段值检测语法不执行代码,只有在调用函数时才会执行函数体代码。
函数的返回值
# return返回值的语法:函数体内可以有多个return,但只要执行一次,整个函数就立即结束,并且将return后的值当做本次调用的产品返回
具体来说函数的的返回值有三种形式:
1、return 值:返回的就是该值本身
2、return 值1,值2,值3:返回的是小元组
3、没有return或者return无值或者return None:返回的都是None
模块的使用
‘‘‘
1、什么是模块
模块是一些列功能的集合体
模块分为四种通用的类别
1、使用python编写的.py文件
2、已被编译为共享库或DLL的C或C++扩展
3、把一系列模块组织到一起的文件夹
4、使用C编写并连接到python解释器的内置模块
模块有三种来源:
1、python自带的模块/库
内置模块
标准库
2、第三方的库
3、自定义库
2、为何要用模块
1、拿来主义,提升开发效率
2、减少代码冗余
3、如何用模块
import
from...import
‘‘‘
标签:通用 模块 缺点 turn rename imp 来源 open coding
原文地址:https://www.cnblogs.com/yu-kun/p/14868221.html