python笔记37 os模块 *** 作文件 模块的制作 发布 安装

python笔记37 os模块 *** 作文件 模块的制作 发布 安装,第1张

python笔记37 os模块 *** 作文件 模块的制作 发布 安装 os *** 作文件

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:51              BaiduNetdiskDownload
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())


小结

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4654157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存