当前位置:网站首页>(5) 模块与包、编码格式、文件操作、目录操作
(5) 模块与包、编码格式、文件操作、目录操作
2022-08-02 03:24:00 【隐身的菜鸟】
目录
模块与包
模块
模块英文为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)边栏推荐
猜你喜欢
随机推荐
微信小程序云开发-证件照的实现
js basics
暴力方法求解(leetcode14)查找字符串数组中的最大公共前缀
简单黑马头条项目
1.6一些今日学习
L1-020 帅到没朋友 (20分)
13.JS输出内容和语法
数组的高级操作
js 之 Object.defineProperty()
SQL:DDL、DML、DQL、DCL相应介绍以及演示
每日五道面试题总结 22/7/26
每日五道面试题总结 22/7/20
宝塔邮局邮箱设置成功后能发送不能接收问题处理
IP access control: teach you how to implement an IP firewall with PHP
轮播图详解(完整代码在最后)
12.什么是JS
二维码生成API接口,可以直接作为A标签连接
[phpunit/php-timer]一个用于代码执行时间的计时器
PHP8.2将会有哪些新东西?
[mikehaertl/php-shellcommand]一个用于调用外部命令操作的库







![[sebastian/diff]一个比较两段文本的历史变化扩展库](/img/c7/ea79db7a5003523ece7cf4f39e4987.png)

