(5) 模块与包、编码格式、文件操作、目录操作

目录

模块与包

​ 编辑 模块

 自定义模块

 以主程序形式运行

 包

编码格式

文件操作

 文件的读写原理

 文件的读写操作

 常用的文件打开模式

 文件对象的常用方法

 with语句(上下文管理器)

目录操作


模块与包

模块

模块英文为Modules

在Python中一个扩展名为,py的文件就是一个模块
函数与模块的关系:一个模块中可以包含N多个函数
使用模块的好处:
        1.方便其它程序和脚本的导入并使用
        2.避免函数名和变量名冲突
        3.提高代码的可维护性。
        4.提高代码的可重用性

 自定义模块

创建一个模块:新建一个.py文件,名称尽量不与python自带的标准模块名称相同

导入模块:

import  模块名  [as 别名]

from  模块名称  import  函数/变量/类

以主程序形式运行

 在每个模块的定义中都包括一个记录模块名称的变量_name_,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的_name_变量的值为__main_

if  __name__  =  '__main__'  :

         pass

#在cadd1.py文件里
def add(a,b):
    return a+b

if __name__ == '__main__': #如果没有这条语句,cadd这个模块被导入时,会执行10+20
    print(add(10,20))   #只有点击运行csdd时,才会执行运算

 包

 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录
作用:
        1.代码规范
        2.避免模块名称冲突
包与目录的区别:
        1.包含_init_,py文件的目录称为包
        2.目录里通常不包含.init_.py文件
包的导入:

import 包名.模块名

导入带包的模块时的注意事项:使用import方式进行导入时,只能跟包名或模块名

from pageage1 import  module_A

from  pageage1.module_A  import a

使用from ...import可以导入包、模块、函数、变量

编码格式

常见的字符编码格式

python的解释器使用的是Unicode(内存)

.py文件在磁盘上使用UTF-8存储(外存)

文件操作

文件的读写原理

文件的读写操作俗称“IO操作”

文件读写的操作原理:

解释器去运行.py文件的时候,会去调用操作系统上的资源去操作硬盘上的文件 (对磁盘上文件的读写操作)

 

文件读写流程:

文件的读写操作

内置函数open()创建文件对象

 语法规则

file=open('a.txt','r')
print(file.readlines())
file.close()

 常用的文件打开模式

文件的类型,按照文件中数据的组织形式,文件分为两大类:

1.文本文件:存储的是普通“字符”文本,默认unicode字符集,可以使用记事本程序打开

2.二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须用专用的软件打开,例如:mp3音频文件,jpg图片,.doc文档等

文件对象的常用方法

file=open('a.txt','r')
file.seek(2)
print(file.read())
file.close

#a.txt里内容是“中国美丽”
#seek中的2,是两个字节,因为一个汉字占两个字节,所以输出从“国”开始
#结果输入,“国美丽”

with语句(上下文管理器)

with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确关闭,以此达到释放资源的目的

目录操作

1. os模块是Python内置的与操作系统功能和文件系统相关的模块。该模块中的语句的执行结果通常与操作系统有关,在不同的操作系统上运行,得到的结果可能不一样。
2. os模块与os.path模块用于对目录或文件进行操作

 os模块操作目录相关函数

#os模块是与操作系统相关的一个模块
#演示
import os
os.system('notepad.exe')
os.system('calc.exe')
#直接调用可执行文件
os.startfile('C:\\......\\xx.exe')
print(os.getcwd())
lst=os.lisydir('路径')
os.mkdir('newdir2')

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

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

#示例
import os.path
print(os.path.abspath('demo13.py'))

#列出指定目录下的所有py文件
import os
path=os.getcwd()
lst=os.listdir(path)
for filename in lst:
    if filename.endswitch('.py')
        print(filename)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值