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())
小结



