文件读写,命名空间,作用域

  • 命名空间
    • 内置命名空间
    • 全局命名空间:定义在函数外部的所有变量
    • 局部命名空间:定义在函数内部的所有变量
    • 永远是局部命名空间可以用全局的变量,全局命名空间可以用内置命名空间的变量
    • 变量名不要设和内置命名空间一样的变量名
  • 作用域
    • 全局作用域:可以用内置命名空间,可以用全局命名空间
    • 局部作用域:可以用内置命名空间,可以用全局命名空间,可以用局部命名空间
    • 内置的不能用全局的,全局的不能用局部的
    • 永远优先用局部,没有局部用全局,没有全局用内置
    • 如果全局、内置、局部都有,用自己区域的
    • global声明全局变量
    • nonlocal声明在局部作用域中调用父级变量
  • 函数的嵌套
  • f = open(r'路径')加r表示取消字符串所有的转义功能

      • f是一个文件句柄,所有文件相关操作都依赖f,也可以叫做文件操作符
      • f.read()一次读取所有
      • f.readline()一次读取一行,依次向下读,但不知道在哪里结束
      • f.readlins()以行读,返回一个列表,列表的元素是每一行
      • for循环读
      • f.close()关闭文件

      • f.write()以写模式打开一个文件,相当于先清空原来的文件然后写入
      • 打开并写一个不存在的文件相当于新建一个空文件,再写
      • 写入换行\n,默认有,指针位置注意
      • 追加写入
        • open(r' ',mode = 'a' , encoding = ' utf-8') a模式追加写入
    • 以字节的形式读取
      • open(r' ',mode = 'rb')二进制打开
      • f.read(1024),以字节读
      • import os
        size = os.path.getsize(r'文件路径') 查看文件大小
    • r+读写模式默认模式下光标指针在文件开头,先写后读和先读后写的光标位置不一样,如果想安全写入,要先读后写
    • w+写读模式
    • f.seek(0)移动光标指针回到开头,seek()入参Python 文件 seek() 方法 (w3school.com.cn)
      • seek(n)光标指针移动到n的位置,移动单位是byte,所以如果是utf-8的中文部分要3的倍数
      • 通常使用seed都是移动到开头seed(0),或结尾seed(0,2)第二个参数
        • .seek()方法标准格式是:file.seek(offset,whence)
        • offset:开始的偏移量,也就是代表需要移动偏移的字节数
        • whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。whence值为空没设置时会默认为0
    • f.tell()查看指针位置
    • 文件修改
  • if后只有一行代码可以直接跟在冒号后面
  •  
posted @   3notblv  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示