• pythonn笔记 -- 模块、文件


    1. 模块

    1.1 模块导入

    • import 模块名称 [as 别名]
    • from 模块名称 import 函数/变量/类
    import math
    print(id(math))
    print(type(math))
    
    print(math.pi)
    print(dir(math))
    print(math.pow(2, 3))
    print(math.ceil(9.0001))
    print(math.floor(9.999))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    1242583069304

    3.141592653589793
    [‘doc’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘acos’, ‘acosh’, ‘asin’, ‘asinh’, ‘atan’, ‘atan2’, ‘atanh’, ‘ceil’, ‘copysign’, ‘cos’, ‘cosh’, ‘degrees’, ‘e’, ‘erf’, ‘erfc’, ‘exp’, ‘expm1’, ‘fabs’, ‘factorial’, ‘floor’, ‘fmod’, ‘frexp’, ‘fsum’, ‘gamma’, ‘gcd’, ‘hypot’, ‘inf’, ‘isclose’, ‘isfinite’, ‘isinf’, ‘isnan’, ‘ldexp’, ‘lgamma’, ‘log’, ‘log10’, ‘log1p’, ‘log2’, ‘modf’, ‘nan’, ‘pi’, ‘pow’, ‘radians’, ‘remainder’, ‘sin’, ‘sinh’, ‘sqrt’, ‘tan’, ‘tanh’, ‘tau’, ‘trunc’]
    8.0
    10
    9
    Process finished with exit code 0

    from math import pi
    print(pi)
    
    • 1
    • 2

    自定义模块导入

    自定义模块:
    在这里插入图片描述

    在PyCharm中该文件所在包上右击,选择Make Directory as,选择Sources Root

    在这里插入图片描述

    可以正常调用!

    在这里插入图片描述

    以主程序形式运行

    添加:if __name__ == ‘__main__’:

    def add(a, b):
        return a + b
    
    def div(a, b):
        return a / b
    
    if __name__ == '__main__':
        print(add(2, 5))  # 只有当点击calc时,该语句才执行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1.2 Python中的包

    • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个包下
    • 能够使代码规范,避免模块名称冲突

    • 包与目录的区别
      • 包含__init__.py文件的目录称为包
      • 目录里通常不好含__init__.py文件

    新建一个包时,PyCharm会自动创建一个__init__.py文件

    在这里插入图片描述


    1.3 Python中常用模块

    Python中常用的内置模块

    模块名说明
    sys与Python解释器及其环境操作相关的标准库
    time提供与时间相关的各种函数的标准库
    os提供了访问操作系统服务功能的标准库
    calendar提供与日期相关的各种函数的标准库
    urllib用于读取来自网上的数据标准库
    json用于使JSON序列化和反序列化对象
    re用于在字符串中执行正则表达式匹配和替换
    math提供标准算术运算函数的标准库
    decimal用于精确控制运算精度
    logging提供灵活的记录事件、错误、警告和调试信息等日志信息的功能

    2. 文件

    2.1 编码

    • Python的解释器使用的是Unicode(内存)
    • .py文件在磁盘上使用UTF-8存储(外存)

    如何修改py文件的格式?
    在文件首行加:#encoding=gbk

    在这里插入图片描述

    2.2 文件读写

    • 内置函数open()创建文件对象
    • 语法规则: file = open( filename [, mode, encoding] )
    # 读取文件内容
    file = open('C:\\Users\\swy\\Desktop\\a.txt', 'r', encoding='UTF-8')
    print(file.readlines())
    file.close()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    常用的文件打开模式

    打开模式描述
    r只读模式
    w只写模式
    a追加模式
    b以二进制方式打开文件,不能单独使用,如 rb或wb
    +以读写方式打开文件,不能单独使用,如 a+

    文件对象常用方法

    方法名称描述
    read([size])从文件中读取size个字节或字符的内容返回
    readline()从文本文件中读取一行内容
    readlines()把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
    write(str)将字符串str内容写入文件
    writelines(s_list)将字符串列表s_list写入文本文件,不添加换行符
    seek(offset, whence)把文件指针移动到新的位置,offset表示相对于whence的位置,whence不同值表示不同含义:0,1,2
    tell()返回文件指针的当前位置
    flush()把缓冲区的内容写入文件,但不关闭文件
    close()把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

    os模块操作目录相关函数

    方法名称描述
    getcwd()返回当前的工作目录
    listdir(path)返回指定路径下的文件和目录信息
    mkdir(path, mode)创建目录
    mkdirs(path1/path2…, mode)创建多级目录
    rmdir(path)删除目录
    removedirs(path1/path2…)删除多级目录
    chdir(path)将path设置为当前工作目录

    os。path模块操作目录相关函数

    方法名称描述
    abspath(path)用于获取文件或目录的绝对路径
    exists(path)用于判断文件或目录是否存在
    join(path, name)将目录与目录或者文件名拼接起来
    splitext()分离文件名和扩展名
    basename(path)从一个目录中提取文件名
    dirname(path)从一个路径中提取文件路径,不包括文件名
    isdir(path)用于判断是否为路径

    2.3 with语句

    • with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
    with open('C:\\Users\\swy\\Desktop\\a.txt', 'r', encoding='UTF-8') as src_file:
        print(src_file.readlines())
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    AI大模型的制作:RAG和向量数据库,分别是什么?
    运行pytorch时出现version `CXXABI_1.3.9‘ not found
    Jenkins 构建的时候提示 DOCKER_HOST 错误
    计算一组Tensor的直方图C算法实现
    【算法leetcode】1572. 矩阵对角线元素的和(多语言实现)
    blob和file对象文件API
    持续集成部署-k8s-服务发现-Service
    插入记录的方式
    Spring Cloud Config 分布式配置中心
    【java-Date】
  • 原文地址:https://blog.csdn.net/swy66/article/details/126377871