Python07

今日内容详细

  • 文件操作补充
  • 函数

今日内容详细

文件操作补充

  1. flush() # 将内存中的数据立刻刷到硬盘,相当于ctrl+s
  2. readable() writeable() # 判断文件是否可读可写
    with open(r'userinfo.txt','a',encoding='utf8') as f:
        print(f.readable())  # True
        print(f.writable())  # False

    Python07

  3. writelines() # 括号内放列表,多个元素都会被依次写入
  4. f.read() # 读取所有内容,执行完该操作后,文件指针会移动到文件末尾
  5. f.readline() # 读取一行内容,光标移动到第二行首部
  6. f.readlines() # 读取每一行内容,存放于列表中

光标移动

可以使用seek(offset,whence)来控制光标的移动,其中的参数有两个:

  1.  offset:用来控制移动的位数
  2. whence:是操作模式
    0:既可以用在文本模式也可以用在二进制模式,光标位置在文件开头
    1:只可以在二进制模式下使用,光标位置在当前位置
    2:只可以在二进制模式下使用,光标位置在文件末尾

with open(r'a.txt', 'r', encoding='utf8') as f:
    data = f.read()
    print(data)
    f.seek(1, 0)
    print(f.read())

Python07

with open(r'a.txt', 'rb') as f:
    data = f.read(15)
    print(data.decode('utf8'))
    f.seek(-12, 2)
    print(f.read().decode('utf8'))

Python07

文件修改

基本方法

with open(r'a.txt', 'r', encoding='utf8') as f: # 读取数据
    data = f.read()
    print(data)
with open(r'a.txt', 'w', encoding='utf8') as f: # 写入时替换
    f.write(data.replace('hello world', 'hzh'))
with open(r'a.txt', 'r', encoding='utf8') as f:
    data = f.read()
    print(data)

Python07

进阶方法

创建一个新文件,将老文件内容写入新文件,过程中完成修改,之后将老文件删除,将新文件命名成老文件,从而达到修改的效果

import os

with open(r'a.txt', 'r', encoding='utf8') as f, open(r'a.txt.backend', 'w', encoding='utf8') as f1:
    for line in f:
        f1.write(line.replace('tony', 'jason'))
os.remove(r'a.txt')
os.rename(r'a.txt.backend', r'a.txt')

函数

函数就相当于是工具,提前定义好后续可以反复使用,避免了代码冗余的情况

语法结构

def 函数名(参数1,参数2):
        '''函数的注释'''
        函数体代码
        return 函数的返回值
  1. def:定义函数的关键字
  2. 函数名:函数名的命名与变量名保持一致 见名知意
  3. 参数:函数在使用之前还可以接收外部传入的参数
  4. 函数的注释:类似于产品说明书
  5. 函数体代码:整个函数主要功能逻辑,是整个函数的核心
  6. return:执行完函数之后可以给调用者一个反馈结果

ps:函数的使用一定要先定义后使用

 

上一篇:MySQL 字符集及比较规则


下一篇:mysql连接后中文乱码