python学习记录—文件的操作模式及函数入门

今日内容概要

  •  操作模式

  • 文件内光标的移动(了解)
  • 文件内容修改(了解)
  • 函数(重要)
  • 函数的简介
  • 函数的语法结构
  • 函数的返回值

今日内容详细

1.文本模式

r => rt
w => wt
a => at
'''
注意事项:
1. 文件中的内容全部都是以字符串为单位
2. 写入的内容只能是字符串
3. 必须指定encoding参数
'''

2.二进制模式

# 这里的b就不能省略了, b代表是二进制模式,执行所有的数据类型
rb
wb
ab

'''
注意事项:
1. 文件中的内容都以字节(bytes)为单位
2. 写入的内容必须是二进制
3. 一定不能指定encoding参数
'''

二进制的读写模式

# with open('a.txt', 'rb') as f:
# print(f.read(6).decode('utf8'))

with open('a.txt', 'r',encoding='utf8') as f:
print(f.read(5))

'''
1. 一个英文一个字节
2. 一个中文字符三个字节
3. f.read(n)
在t模式下,n代表的是字符的个事
在b模式下,n代表的是字节个数

python学习记录—文件的操作模式及函数入门

应用

做一个简易版本的拷贝功能

# 1. 输入被拷贝文件的路径

# 2. 输入将要放入文件的路径

# 3. 通过代码操作文件实现 读被拷贝的文件,写入到指定的文件路径下

# 1. 输入被拷贝文件的路径
wait_path = input('wait path:').strip()
new_path = input('new path:').strip()

with open(r'%s' % wait_path, 'rb') as f, open(r'%s' % new_path, 'wb') as f1:
for line in f:
f1.write(line)

python学习记录—文件的操作模式及函数入门

 文件中控制光标的移动

with open('a.txt', 'rb') as f:
print(f.read(3))
# print(f.tell()) # 查询光标移动的位置
f.seek(-3, 2)
print(f.read().decode('utf8'))


'''

f.seek()
offset
偏移的位置量
whence


模式控制


0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的
1:以当前所在的位置为参照的
2:以文件末尾的位置为参照的
强调:其中0模式可以在t或者b模式使用,而1跟2模式只能在b模式下用


'''

python学习记录—文件的操作模式及函数入门

 

 修改文件内容

# 1. 读取文件内容
with open('a.txt', 'r', encoding='utf8') as f:
data = f.read()
print(data)

# 2. 把新数据写入文件
with open('a.txt', 'w', encoding='utf8') as f:
# f.seek(3, 0)
# f.write('<妇女主任>')
new_data = data.replace('山东', '妇女主任')
f.write(new_data)

python学习记录—文件的操作模式及函数入门

 

 

函数入门--语法结构

def my_len():
n = 0
for i in l:
n += 1
print(n)

print(my_len()) # None
'''
1. 我们现在写的代码都是重复的
模仿len实现
2. 我们现在写的代码兼容性很差
3. 我们现在写的代码没有返回值(一块代码执行完之后给我的反馈结果)

函数的简介:
提前准备好的工具,什么时候使用,就给相应的结果
'''

语法结构

def my_len():
'''
注释
:return:
'''
print('我是函数')
return 123

# my_len()
print(my_len())
'''
语法结构:
1. def(关键字必须的)
用来定义函数的,函数要想使用必须先定义def
2. 函数名(必须的)
函数名的命名遵循变量名的命名就可以了,见名知意
3. 注释 (不是必须的)
类似于说明书,对函数功能的描述,简介...
4. 函数体(必须的)
执行代码的核心逻辑
5. return返回值(不是必须的)
执行完函数之后,返回的结果
6. 参数(不是必须的)
就是执行函数之前的一些前提
'''

python学习记录—文件的操作模式及函数入门

 

 

函数的定义和调用

注意事项:
1. 函数必须先定义,在调用
2. 函数在定义阶段,值检测语法是否正确
3. 函数在定义阶段,不会执行函数体代码
4. 函数只能有一个return,函数一旦遇到return,函数立马结束

函数的底层原理:
'''
1. 先在内存中申请一块空间存储函数体
2. 把函数体所在的内存地址绑定给函数名
3. 使用函数名加括号调用函数,来执行函数
'''

函数的分类

1. 内置的函数
提前在python解释器中提前定义好的,可以拿来直接使用
2. 自定义函数
程序员自己写的函数
1. 无参函数
2. 有参函数
3. 空函数(pass ...)

# 无参函数
def my_func():
print('我是无参函数')

# 调用函数
my_func()

# 有参函数
def my_func1(a,b,c,d)
print('我是有参函数')

my_func1(1,2,3,4)

# 空函数
def my_func2():
pass
...

上一篇:pd17虚拟机启动器怎么生成?pd17虚拟机启动器生成方法


下一篇:来了!公开揭密团队成员开发鸿蒙 OpenHarmony 的完整过程(收获官方7000奖金和开发板等,1w字用心总结)