当前位置: 首页 > ds >正文

python——模块、包、操作文件

目录

一、模块

1、定义

python中模块:

2、使用模块的好处

3、导入模块的方法

4、python中常用内置模块

二、包

1、定义

2、包导入模式

三、操作文件

1、创建文件对象

2、文件操作

(1)r:读取文件内容

(2)w:写入文件内容

(3)a:追加文件内容

(4)关闭文件对象

注:


一、模块

1、定义

由于一个py文件中不能存在同名函数,为解决函数重名问题,引入了模块这个概念。在python中模块就表示一个py文件。

python中模块:

  • 内置模块(random,time,os,csv等等);
  • 第三方模块(selenium,requests等等);
  • 自定义模块。

2、使用模块的好处

  • 编写的代码不必从0开始;
  • 使用模块可以避免函数名和变量名的冲突(不同模块中使用相同函数名字或变量名称都是没有关系的。);
  • 当一个模块代码编写完成后,在其他模块中可以引用该模块的代码。

3、导入模块的方法

方法一:import  模块名1模块名2, ...模块名n 

模块中函数调用格式:模块名.函数名称()

模块中全局变量调用格式:模块名.全局变量名称 

方法二:from  模块名称  import  成员名1, 成员2, ...成员n 

模块中函数调用格式:函数名()

模块中全局变量调用格式:全局变量名称

4、python中常用内置模块

  • time模块:时间模块

time模块中常用函数:sleep(second)second表示需要传递秒数,代码执行过程中停顿second秒。

strftime函数用于将时间格式化。

  • random模块:创建随机数

random模块中常用函数:randint(a,b) ,该函数会随机生成一个a-b之间随机数,包含两个边界。 

二、包

1、定义

  • (1)为了避免模块名重复的冲突,方便代码管理,python引入了按照目录组织模块的一种方法,称为包。(python package)
  • (2)包是包含python模块的文件夹,但是它不是一个普通文件夹,在该文件夹中自动生成一个__init__.py的模块。__init__.py模块一般情况下不会放内容,通常都是空的。自己编写代码放在自定义模块中,不会放在该文件中。
  • (3)directory目录是普通目录:通常会存放日志文件;软件截图;生成测试报告等等。
  • (4)python package包目录:py文件(模块)。
  • (5)无论是导入包,还是导入模块:都可以使用python快捷方式:alt+回车键。

2、包导入模式

  • 方式1:import  包名1.模块名1, 包名2.模块名1, ...
  • 方式2:from  包名  import 模块名1, 模块名2, 模块名n
  • 方式3:from  包名.模块名  import 成员名1, 成员名2, ...成员名n

三、操作文件

1、创建文件对象

语法:open(file,mode,encoding)

  • file:表示需要操作文件路径:路径可以使用相对路径,可以使用绝对路径;
  • mode:文件操作模式  r,w,a   mode默认值r;
  • encoding:表示文件编码字符集  ,可选参数。

2、文件操作

(1)r:读取文件内容

  • read()函数:表示从文件中读取指定的字符数,如果没有给定,则默认读取文件中所有的内容;
  • readline()函数:表示要读取整行,包括换行符  \n;
  • readlines()函数:表示要读取文件中所有行,返回值是一个列表,每一行的内容是列表中的一个元素。

读取文件内容前置条件文件已存在,如果不存在代码报错。

(2)w:写入文件内容

  • write()函数:写入文件时,如果该文件对象不存在,则会先创建该文件,然后写入内容;如果该文件已经存在,保留原来内容,追加写入的新内容。

(3)a:追加文件内容

(4)关闭文件对象

  • close()函数

注:

不需要使用close函数的单独的语句: 

语法:

with  open  (file,mode,encoding)  as  文件对象名称:  

        对文件进行操作              

 

http://www.xdnf.cn/news/1391.html

相关文章:

  • 网络原理 - 5(TCP - 2 - 三次握手与四次挥手)
  • 深度解析n8n全自动AI视频生成与发布工作流
  • 多 Agent 系统开发指南:分布式协同、通信机制与性能优化
  • Unity ML-Agents + VScode 环境搭建 Windows
  • Manim让数学动画更有温度
  • windows怎样生成iOS证书-uniapp打包
  • RK3568平台开发系列讲解(调试篇)debugfs文件系统及常见调试节点介绍
  • 基于HPC的气候模拟GPU加速实践全流程解析
  • 【架构】Armstrong公理系统通俗详解:数据库设计的基本法则
  • 【Canvas与标志】红底肉边黑芯铁十字标志
  • socket编程基础
  • MongoDB Ubuntu 安装
  • 大数据利器:Kafka与Spark的深度探索
  • JAVA设计模式——(四)门面模式
  • 大模型驱动金融数据应用的实战探索
  • 网络安全职业技能大赛Server2003
  • 使用 Oracle 数据库进行基于 JSON 的应用程序开发
  • 线程概念与控制
  • (四)微服务架构、容器编排架构
  • CPP_类和对象
  • 安全复健|windows常见取证工具
  • 基于Java与MAVLink协议的多无人机(Cube飞控)集群控制与调度方案问题
  • 如何开启远程桌面连接外网访问?异地远程控制内网主机
  • GitLab Runner配置并行执行多个任务
  • 路由与OSPF学习
  • DeepSeek在物联网设备中的应用:通过轻量化模型实现本地化数据分析
  • setInterval可能的坑
  • SSH 私钥文件权限控制指南
  • CLIMB自举框架:基于语义聚类的迭代数据混合优化及其在LLM预训练中的应用
  • Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系