【Python】学习笔记总结4(Python模块)

柔情只为你懂 2023-02-28 12:54 71阅读 0赞

文章目录

  • 四、Python模块
    • 1.import导入模块
    • 2.from…import导入模块
    • 3.as 给模块取别名
      1. os模块
    • 5.自行编写模块

四、Python模块

1.import导入模块

import 到首次导入模块的时候会发生如下3步操作

  1. 打开模块文件
  2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
  3. 在程序中会有一个模块的名称指向模块的名称空间去

第三方模块安装位置,在python安装 目录下的lib/site- packages/目录下。

  1. import time
  2. print(time.ctime())

2.from…import导入模块

导入模块中部分函数,可以不用加模块名前缀,直接使用

from … import 首次导入发生了3个步骤

  1. 以模块为准创造个模块的名称空间
  2. 执行模块对应的文件了,将执行过程中产生的名字都丢到模块的名称空间
  3. 在当前执行文件的名称空间中拿到一个名字,该名字直接指向模块中的某一个名字

    from time import ctime
    print(ctime())

3.as 给模块取别名

  1. import time as timeA
  2. 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:

    1. print(dirname)

    scandir和with一起来使用这样的话上下文管理器会在迭代器遍历完成后自动去释放资源

    with os. scandir(‘d:/‘) as entries:

    1. for entry in entries:
    2. print( entry . name)

    是否是文件,是否是文件夹目录

    basePath= ‘H:/‘
    for entry in os .listdir(basePath):

    1. if os.path. isfile(os.path. join(basePath, entry)):
    2. print(entry)
    3. if os.path. isdir(os.path. join(basePath, entry)):
    4. print(entry)

5.自行编写模块

.py就是模块,以库的形式去封装,可以定义类、函数、变量,只在本模块中使用

  • 三种导入方式

    import MTest
    from MTest import add
    from MTest import *

  • 模块内测试代码,模块调用时不会执行,未判断则会执行

    if name==’main‘:

    1. print('测试')
  • 限定调用函数(使用from MTest import *)

    all=[‘add’]

  • 发布
    编写setup.py

    from 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

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python学习笔记4:函数

    1.函数 函数就是一段具有特点功能的、可重用的语句组。 在Python中函数是以关键词 def 开头,空格之后连接函数名和圆括号(),最后一个冒号:结尾。 函数名只

    相关 Python3学习笔记模块

    模块 Python代码以.py文件形式保存。而每个.py文件都可以看作是一个模块。当一个模块调用另一个模块时,便需要import语句。 在此前的章节中,我们已看到imp