PYTHON学习笔记(十一)-- 模块

  1. 模块的定义及导入
  2. os模块
  3. 模块的制作

1.什么是模块,怎么导入?
–python中有强大的第三方库,有许多常用功能python提供自带的内置模块。简单来说模块就是封装了一堆函数的py文件,像一个工具包
·–在python中导入模块使用import关键字,比如时间模块就是time,导入语法则是–import time
(也可以在后面加 as 别名 – 取了别名后就可以通过别名调用函数)
·–调用模块的方法,格式:模块名.函数名

import time
print(time.ctime())
#Sat Jul 25 08:59:51 2020

当模块被import首次导入时,会发生如下3步操作:
1.打开模块文件
2.执行模块对应的文件
3.在程序中会有一个模块的名称指向模块的名称空间去(调用)

一个模块中可能也存在很多函数,如果只想导入其中几个函数,可以使用from xx import xx方法导入

from time import ctime,time#部分导入
print(ctime())
#Sat Jul 25 09:10:04 2020

部分导入首次导入模块时,也会发生3步操作:
1.以模块为准创造一个模块的名称空间
2.执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
3.在当前执行文件的名称空间中拿到一个名字,该名字直接只想模块中的某一个名字

import * – 表示导入该模块中的所有函数
部分导入一位置不用加任何前缀直接使用。
可以将对应函数不加前缀直接使用
但是也容易与当前执行文件中名称空间中的名字冲突

2.os模块操作文件

import os
import shutil
os.rename('Test_!.txt','Test.txt1.txt')#文件重命名
#删除文件,如果不是本目录下的,要填入完整的地址
#前提是文件必须存在
os.remove('Test_!.txt')
#mkdir()--创建文件夹
os.mkdir('OS')
os.rmdir('OS')#删除文件夹,如果有子文件夹会报错--只能删除空目录
#在指定路径创建文件夹
os.mkdir('d:/aaa')
#创建多级目录--级联创建
os.makedirs('d:/aaa/bbb/ccc/ddd')

#如果要删除非空目录,就要调用shutil模块
#哪怕里面有文件也会通过递归删除
shutil.rmtree('d:/aaa')


#获取当前目录的位置
print(os.getcwd())

print(os.path)#获取文件路径

#拼接路径
print(os.path.join(os.getcwd(),'venv'))#当前路径后加上venv

#打印对应路径下所有的一级文件,并通过列表返回
#老版用法
listRS = os.listdir('d:/')
for dirname in listRS:
    print(dirname)
#现代用法
# scandir--返回的是一个迭代器对象,通过for读取
#通常配合with一起使用,这样的话,上下文管理器会在迭代器遍历完成后自动释放资源
with os.scandir('d:/') as entries:
    for entry in entries:
        print(entry.name)

#打印对应目录下的文件
basePath = 'd:/'
for entry in os.listdir(basePath):
    #判断对应名称的是否是文件
    if os.path.isfile(os.path.join(basePath,entry)):
        print(entry)
        pass
    #如果是只打印目录名,将isfile变成isdir即可

3.制作模块

模块的定义
·—在python中,一个.py文件就是一个模块

作用:
·—可以使我们有逻辑的去组织python代码
·—以库的形式去封装功能,非常方便的让调用者去使用
·—可以定义函数,类,以及变量

模块的分类:
内置模块,自定义模块,第三方模块

自定义模块:

#自定义模块

def add(x,y):
    return x+y

#测试模块结果
#如果测试模块直接定义会导致调用的时候也会执行
#将测试模块定义在只有本方法中才可以执行
if __name__ == '__main__':
    res = add(2,6)
    print('模块测试%s'%res)
    print('模块__name__变量=%s'%__name__)

自定义模块的使用:

import ModelCreate as mc
#from ModelCreate import add#第二种导入方式
#from ModelCreate import *#第三章导入方式
res = mc.add(1,2)
print(res)
'''
模块测试8
3
模块中不加限制的测试方法会自动调用
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值