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代表的是字节个数
'''
复制代码

三.文件中控制光标的移动

复制代码
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模式下用
'''
复制代码

四.修改文件内容

复制代码
# 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)
复制代码

五.函数前戏,语法结构

复制代码
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. 参数(不是必须的)
        就是执行函数之前的一些前提
'''
复制代码

七.函数的定义和调用

复制代码
################################################################################
    注意事项:
         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
    ...
    
复制代码

 

posted @   morningstar999  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示