ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

今日内容

2021-11-12 17:34:46  阅读:134  来源: 互联网

标签:函数 read 内容 print 今日 line txt open


作业讲解

简易版本的拷贝功能
1.获取待拷贝的目标文件路径
2.获取即将拷贝到哪个地方的新路径
3.利用文件操作实现数据拷贝

1 # 1.需要拷贝的文件路径
2 wait_copy_file = input('file path>>>:').strip()
3 # 2.新的文件路径
4 new_file_path = input('new path>>>:').strip()
5 # 3.以r模式打开步骤1的路径 以w模式打开步骤2的路径
6 with open(r'%s' % wait_copy_file, 'rb') as f1, \
7         open(r'%s' % new_file_path, 'wb') as f2:
8     for line in f1:
9         f2.write(line)

 

 

二进制模式读写操作

 1 # with open(r'a.txt','rb') as f:
 2 #     # print(f.read())
 3 #     print(f.read(6).decode('utf8'))
 4 
 5 
 6 # with open(r'a.txt','r',encoding='utf8') as f:
 7     # print(f.read())
 8     # print(f.read(4))
 9 
10 """
11 read()  括号内可以放数字
12     在t模式下表示字符个数
13     在b模式下表示字节个数
14 英文字符统一使用一个bytes来表示
15 中文字符统一使用三个bytes来表示
16 """

文件内光标的移动

 1 # with open(r'b.txt', 'rb') as f:
 2 #     print(f.read(4).decode('utf8'))
 3 #     print(f.tell())  # 查看光标移动了多少个字节
 4 #     f.seek(3, 1)
 5 #     print(f.read().decode('utf8'))
 6 """
 7 控制文件内光标的移动  f.seek()
 8 f.seek(offset,whence)
 9     offset表示位移量
10         始终是以字节为最小单位
11             正数从左往右移动
12             负数从右往左移动
13     whence表示模式
14         0:以文件开头为参考系(支持tb两种模式)
15         1:只支持b模式 以当前位置为参考系
16         2:只支持b模式 以文件末尾为参考系
17 """
18 
19 # 小练习:实现动态查看最新一条日志的效果
20 import time
21 with open('a.txt', 'rb') as f:
22     f.seek(0, 2)
23     while True:
24         line = f.readline()
25         if len(line) == 0:
26             # 没有内容
27             time.sleep(0.5)
28         else:
29             print(line.decode('utf-8'), end='')

文件的内容修改

 1 # 方式1 覆盖
 2 # with open(r'c.txt','r',encoding='utf8') as f:
 3 #     data = f.read()
 4 #     # print(type(data))
 5 # with open(r'c.txt','w',encoding='utf8') as f1:
 6 #     new_data = data.replace('tony','jason')
 7 #     f1.write(new_data)
 8 
 9 # 方式2 新建
10 import os
11 with open('c.txt', mode='rt', encoding='utf-8') as read_f, \
12         open('c.txt.swap', mode='wt', encoding='utf-8') as write_f:
13     for line in read_f:
14         write_f.write(line.replace('SB', 'kevin'))
15 os.remove('c.txt')  # 删除原文件
16 os.rename('c.txt.swap', 'c.txt')  # 重命名文件
17 
18 """
19 自己总结两种方式的优缺点
20 """

 

 

函数简介?

函数就类似于是工具 提前定义好之后可以反复使用

函数语法结构

def 函数名(参数1,参数2):
'''函数注释'''
函数体代码
return 返回值

1.def(必须的)
是定义函数的关键字
2.函数名(必须的)
是函数的名字 相当于变量名
函数名的命名规范与风格遵循变量名的
3.参数1,参数2(可选的)
参数可以没有也可以有多个
表示在使用函数之前需要满足的一些条件
4.函数注释(可选的)
类似于产品说明书
主要用于介绍函数功能 参数使用 及其他情况
5.函数体代码(必须的)
函数核心的代码逻辑(重要)
6.return返回值(可选的)
使用函数之后反馈给使用者的结果 可以有也可以没有

函数的定义与调用

1.函数必须先定义后调用(顺序不能乱)
2.函数在定义阶段只检测语法不执行代码
3.函数在调用阶段才会执行函数体代码
如何调用函数
函数名加括号 如果函数在定义阶段有参数则在调用阶段也需要给参数

函数在定义与调用阶段底层

 

函数在定义与调用阶段底层原理

1.在内存空间中申请一块空间存储函数体代码
2.将函数体代码所在的空间地址绑定给函数名
3.函数名加括号则会执行函数体代码

函数的分类

1.内置函数
python解释器自带的(提前给你定义好了 你直接使用即可)
2.自定义函数
程序员自己写的函数
2.1.无参函数
2.2.有参函数
2.3.空函数

无参函数

1 # 无参函数是指在函数定义中括号里面没有写参数(变量名)
2 def my_func():
3     print('函数')

有参函数

1 # 有参函数是指在定义中括号里面写了参数(变量名)
2 def my_func(a,b):
3     print('函数')
4 my_func(1,2)

空函数:函数体代码为空(pass ...)

虽然空函数本身没有含义 但是空函数可以提前规定好编写代码的思路

1 def run():
2     pass
3 def fight():
4     pass
5 def talk():
6     pass

 

标签:函数,read,内容,print,今日,line,txt,open
来源: https://www.cnblogs.com/dingyucom/p/15545608.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有