文件内指示标移动案例
import time
with open(r'a.txt', 'rb') as f:
f.seek(0, 2)
while True:
line = f.readline()
if len(line) == 0:
# 没有内容
time.sleep(0.5)
else:
print(line.decode('utf8'), end='')
计算机硬盘修改数据原理
1.硬盘空间是无法修改的,硬盘中数据的更新都是用新内容覆盖旧内容
2.文件对应的是硬盘空间,硬盘不能修改对应着文件本质也不能修改
那我们看到文件的内容可以修改, 大致的思路是将硬盘中文件内容读入内存
然后在内存中修改完毕后再覆盖回硬盘
3.硬盘删除数据的原理
不是直接删除而是改变状态 等待后续数据的覆盖才会被真正删除
文件内容修改
文件修改方式一 # 覆盖写
实现思路:将文件内容一次性全部读入内存,然后在内存中修改完毕后再覆盖写回原文件
# with open(r'a.txt', 'r', encoding='utf8') as f:
# data = f.read()
# with open(r'a.txt', 'w', encoding='utf8') as f1:
# f1.write(data.replace('jason', 'tony'))
1.以r模式打开源文件,将源文件内容全部读入内存
2.然后在内存中修改完毕
3.以w模式打开源文件,将修改后的内容写入源文件
文件修改方式二:# 换地写
实现思路:以读的方式打开原文件,以写的方式打开一个临时文件,
一行一行读取原文件内容,修改完后写入临时文件,删掉原文件,将新文件重名名为原文件名。
import os
with open('a.txt', 'r', encoding='utf8') as read_f, \
open('.a.txt.swap', 'w', encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line.replace('tony', 'kevinSB'))
os.remove('a.txt') # 删除a.txt
os.rename('.a.txt.swap', 'a.txt') # 重命名文件
1.以r模式打开源文件 然后以w模式打开临时文件
2.从源文件读取一行到内存中 修改完毕后直接写入临时文件
循环反复 知道完成所有行
3.删除源文件 将临时文件改成源文件名
函数
函数介绍
在程序中,函数就是具备某一功能的工具,事先将工具准备好即函数的定义;
遇到应用场景拿来就用即函数的调用;函数必须遵循先定义后调用的原则。
函数语法结构
def 函数名(参数):
'''函数注释'''
函数体代码
return 返回值
1.def
定义函数的关键字
2.函数名
命名等同于变量名
3.参数
主要是在使用函数的时候规定要不要外界传数据进来
4.函数注释
大白话就是说明书
5.函数体代码
函数的核心 主要是取决于程序员的编写
6.return
使用函数之后可以返回给使用者的数据 可有可无
函数定义与调用
1.函数在定义阶段只检测语法 不执行代码
def func():
pass
2.函数在调用阶段才会执行函数体代码
func()
3.函数必须先定义后调用
4.函数定义使用关键字def函数调用使用>>>:函数名加括号
'''
Python函数是指组织好的、可重复使用的、用来实现单一或相关联功能的代码段,Python函数包含系统中自带的一些函数、第三方函数以及用户自定义的函数。
函数能提高应用的模块性和代码的重复利用率,你已经知道Python提供了许多内置函数,比如说print(),但你也可以自己创建函数,这被叫作用户自定义函数。
'''
函数的分类
空函数 无参函数 有参函数
1.空函数
函数体代码为空使用pass或者...补全、
空函数主要适用于前期的框架构造 加上注释用来提醒自己还需要写的代码 例如:
def register():
'''登入功能'''
pass
'提醒自己此处登入功能还未完善后续要补充'
2.无参函数
定义函数的时候括号内没有参数
def caoiuo():
print('from caoiuo function')
3.有参函数
定义函数的时候括号内有参数 调整函数的时候括号内穿参数
def function(a)
print(a)
函数的返回值
1.什么是返回值
调用函数之后返回给调用者的结果
2.如何获取返回值
变量名 赋值符号 函数的调用
res = func() # 先执行func函数 然后将返回值赋值给变量res
3.函数返回值的多种情况
3.1.函数体代码中没有return关键字 默认返回None
3.2.函数体代码有return 如果后面没有写任何东西还是返回None
3.3.函数体代码有return 后面写什么就返回什么
3.4.函数体代码有return并且后面有多个数据值 则自动组织成元组返回
3.5.函数体代码遇到return会立刻结束
# 类似于black
函数的参数
形式参数
在函数定义阶段括号内填写的参数 简称'形参'
实际参数
在函数调用阶段括号内填写的参数 简称'实参'
"""
形参与实参的关系
形参类似于变量名 在函数定义阶段可以随便写 最好见名知意
def register(name,pwd):
pass
实参类似于数据值 在函数调用阶段与形参临时绑定 函数运行结束立刻断开
register('jason',123) 形参name与jason绑定 形参pwd与123绑定
"""
标签:源文件,函数,代码,初入,修改,txt,def
From: https://www.cnblogs.com/lsl1/p/16773375.html