import os os.rename('Test.txt','Test_重命名.txt ')
import os import shutil # os.rename('Test.txt','Test_重命名.txt ') # os.remove('File_del.py') #文件已被删除 删除前提 文件必须存在 # os.mkdir('TestCJ') #创建文件夹 # os.rmdir('TestCJ') #删除文件夹 前提 文件存在 否则报错 # 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(),'venv')) # 获取python中的目录列表 # listRs=os.listdir('d:/') # for dirname in listRs: # print(listRs) # 使用现代版的写法 # scandir 和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)模块的制作
模块的定义
在python当中 一个py文件就是一个模块
作用:
可以使我们有逻辑的去组织我们的python代码
以库的形式去封装功能,非常方便的去让调用者使用
可以定义函数 类 变量 也能包含可执行的代码
注意:不同的模块可以定义相同的变量名,但是每个模块中的变量名作用域只是在本模块中
模块分类
内置模块 自定义的模块 第三方的模块
# 模块的制作说明 # __all__魔术变量作用是 如果在一个文件中存在__all__变量 那么也就意味着这个变量中的元素 # 会被 from XX import *时会被导入 对于import 方式来说无所谓 全部可以引用 __all__=['add','diff'] def add(x,y): ''' 普通的函数 :param x: :param y: :return: ''' return x+y def diff(x,y): return x-y def printInfo(): return '这是我自定义模块中的方法' # 测试 if __name__=='__main__': #只有在test函数下,才输出执行 res=add(1,2) # print(res) print('模块__name__变量=%s'%__name__) #只有在当前 魔术变量才为__main__
# from modeltest import add #第二种导入方式 # import modeltest #导入模块 全部导入 # res=modeltest.add(1,3) #功能先在模块中测试 # print(modeltest.diff(7,4)) # print(res) # print(printInfo) from modeltest import * #第三种导入方式 add(89,3) diff(78,1) print(printInfo()) #不可调用 因为未在__all__中定义模块的发布
from distutils.core import setup # name 模块名称 # version 版本号 # description 描述 # author 作者 # py_modules 要发布的内容 setup(name='modeltest',version='1.0',description='文件统计模块',author='lu', py_modules=['modeltest'])
在终端执行
(venv) D:pythonProject1pythonProject3>cd modelTest (venv) D:pythonProject1pythonProject3modelTest>python setup.py build #创建模块 running build running build_py creating build creating buildlib copying modeltest.py -> buildlib (venv) D:pythonProject1pythonProject3modelTest>python setup.py sdist 生成压缩包 running sdist running check warning: check: missing required meta-data: url warning: check: missing meta-data: if 'author' supplied, 'author_email' should be supplied too warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list) warning: sdist: standard file not found: should have one of README, README.txt, README.rst writing manifest file 'MANIFEST' creating modeltest-1.0 making hard links in modeltest-1.0... hard linking modeltest.py -> modeltest-1.0 hard linking setup.py -> modeltest-1.0 creating dist Creating tar archive removing 'modeltest-1.0' (and everything under it) (venv) D:pythonProject1pythonProject3modelTest>模块的安装
Microsoft Windows [版本 10.0.19042.1237] (c) Microsoft Corporation。保留所有权利。 (venv) D:pythonProject1Setuptestpro>cd D:/ D: 的目录 2021/09/16 15:51BaiduNetdiskDownload 2021/09/12 10:57 Download 2021/10/04 09:21 endnote 2021/09/24 18:08 mathtype安装 2021/10/17 15:21 1,055 modeltest-1.0.tar.gz 2021/09/10 17:38 Office2016 2021/09/16 15:34 pycharm2020.2 2021/09/13 19:41 python 2021/09/16 15:05 Python file 2021/10/17 15:33 pythonProject1 2021/09/12 11:28 QMDownload 2021/09/13 19:42 xuexianfa 2021/10/04 09:10 知云安装 1 个文件 1,055 字节 12 个目录 521,794,174,976 可用字节 (venv) D:>pip install modeltest-1.0.tar.gz #安装模块 Processing d:modeltest-1.0.tar.gz Preparing metadata (setup.py) ... done Using legacy 'setup.py install' for modeltest, since package 'wheel' is not installed. Installing collected packages: modeltest Running setup.py install for modeltest ... done Successfully installed modeltest-1.0 (venv) D:>
安装后调用
# from modeltest import * import modeltest as ww print(ww.add(12,4)) print(ww.diff(12,4)) print(ww.printInfo())
小结
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)