【Python】学习笔记总结4(Python模块)
文章目录
- 四、Python模块
- 1.import导入模块
- 2.from…import导入模块
- 3.as 给模块取别名
- os模块
- 5.自行编写模块
四、Python模块
1.import导入模块
import 到首次导入模块的时候会发生如下3步操作
- 打开模块文件
- 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
- 在程序中会有一个模块的名称指向模块的名称空间去
第三方模块安装位置,在python安装 目录下的lib/site- packages/目录下。
import time
print(time.ctime())
2.from…import导入模块
导入模块中部分函数,可以不用加模块名前缀,直接使用
from … import 首次导入发生了3个步骤
- 以模块为准创造个模块的名称空间
- 执行模块对应的文件了,将执行过程中产生的名字都丢到模块的名称空间
在当前执行文件的名称空间中拿到一个名字,该名字直接指向模块中的某一个名字
from time import ctime
print(ctime())
3.as 给模块取别名
import time as timeA
print(timeA.ctime())
4. os模块
方法 | 解释 |
---|---|
os.getcwd() | 获取当前工作目录,即当前python脚本工作的目录路径 |
os.chdir (“dimname”) | 改变当前脚本工作目录:相当于shell下cd |
os.curdir | 返回当前目录:() |
os.pardir | 获取当前目录的父目录字符串名: (“…”) |
os.makedirs(“dir1/dir2) | 可生成多层递归目录 |
os.removedirs( dirname1) | 若目录为空,则删除,并递归到上一级目录,如若也为空则删除,依此类推 |
os.mkdir(’ dimname’) | 生成单级目录:相当于shell中mkdir dimname |
os.rmdir( dimname’) | 删除单级空目录,若目录不为空则无法删除,报错列 |
os.llistdir( dirname) | 出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 |
os.remove() | 删除一个文件 |
os.rename(“oldname”,“new”) | 重命名文件/目录 |
os.stat( path/filename’) | 获取文件/目录信息 |
os.sep | 操作系统特定的路径分隔符,win下 为”\ “,Linux下为”/ “ |
os.linesep | 当前平台使用的行终止符,win 下为”\t\n “.Linux下为”\n ” |
os.pathsep | 用于分割文件路径的字符串 |
os.name | 字符串指示当前使用平台。win->‘nt’: Linux->‘posix’ |
os. system/(“bash command”) | 运行shell命令,直接显示 |
os.environ | 获取系统环境变量: |
os path.abspath(path) | 返回path规范化的绝对路径 |
os.path.split(path) | 将path分割成目录和文件名二元组返回 |
os.path.dirname(path) | 返回path的目录。其实就是os path slit(path)的第一个元素 |
os.path basename(path) | 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os path, split(path)的第=个元素 |
os.path.exists(path) | 如果path存在,返回True; 如果path不存在,返回False |
os.path.isabs(path) | 如果path是绝对路径,返回True |
os.path.isfile(path) | 如果path是一个存在的文件,返回True。 否则返回False |
os.path.isdir(path) | 如果path是一个存在的目录,则返回True。 否则返回False |
os.path.join(path1[ path2[ ]] | 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 |
os.path.getatime(path) | 返回path所指向的文件或者目录的最后存取时间 |
os.path.getmtime(path) | 返回path所指向的文件或者目录的最后修改时间 |
案例
import os
os.rename( ‘Test.txt’,’Test_ 重命名.txt’ )
os.remove(‘File del.py’) #删除文件前提是文件必须存在
os.mkdir(‘TestCJ’) #创建文件夹
os.rmdir(‘TestCJ’) #删除文件夹文件必须存在mkdir创建一级目录
os.mkdir( ‘d: /Python编程/sub核心’) #不允许创建多级
创建多级目录
os.makedirs( ‘d:/Python编程/sub核心/三级sub’) #允许
os.rmdir(‘d:/Python编程’) #只能删除空目录如果要删除非空目录的话,需要调用shutil模块
非空多级删除
shutil.rmtree(‘d: /Python编程’)
获取当前的目录
print(os. getcwd())
路径的拼接
print(os.path)
print (os . path. join(os . getcwd(),’veny’ ))
获取python中的目录列表
listRs=os .listdir( ‘d:/‘)
for dirname in listRs:print(dirname)
scandir和with一起来使用这样的话上下文管理器会在迭代器遍历完成后自动去释放资源
with os. scandir(‘d:/‘) as entries:
for entry in entries:
print( entry . name)
是否是文件,是否是文件夹目录
basePath= ‘H:/‘
for entry in os .listdir(basePath):if os.path. isfile(os.path. join(basePath, entry)):
print(entry)
if os.path. isdir(os.path. join(basePath, entry)):
print(entry)
5.自行编写模块
.py就是模块,以库的形式去封装,可以定义类、函数、变量,只在本模块中使用
三种导入方式
import MTest
from MTest import add
from MTest import *模块内测试代码,模块调用时不会执行,未判断则会执行
if name==’main‘:
print('测试')
限定调用函数(使用from MTest import *)
all=[‘add’]
发布
编写setup.pyfrom distutils.core import setup
name模块名称
version 版本号
description 描述
author 作者
py_ modules 要发布的内容
setup(name=”MTest”, version=”1.0”,description=”my module”,
author=”lilei”, py_modules=[ ‘MTest’])创建模块
python setup.py build
生成压缩包
python setup.py sdist
安装
pip install MTest-1.0.tar.gz
还没有评论,来说两句吧...