当前位置: 首页 > news >正文

python - 模块

root@learning ~]# cat gcdfunction.py   #写一个模块,并调用此模块
def gcd(n1,n2):  #之前用过的求最大公约数的代码gcd = 1k = 2while k<= n1 and k<=n2:if n1%k == 0 and n2 % k == 0:gcd = kk = k + 1return gcd
[root@learning ~]# cat module.py  #完整代码
from gcdfunction import gcd   #调用模块n1 = eval(input("enter a number:"))
n2 = eval(input("enter a number:"))
print ("the greatest common divisor for",n1, 'and',n2,"is",gcd(n1,n2))
[root@learning ~]# python3.11 module.py
enter a number:66
enter a number:99
the greatest common divisor for 66 and 99 is 33

参考信息:
在Linux中,Python会在一系列目录中查找模块。这些目录包括:

  1. 当前工作目录:Python首先在运行脚本的当前工作目录中搜索模块。

  2. 环境变量PYTHONPATH中定义的目录:PYTHONPATH是一个包含一个或多个目录路径的环境变量,Python会在这些目录中搜索模块。

  3. Python的默认安装路径:Python会在默认安装路径中搜索模块,这个路径通常是/usr/lib/pythonX.Y(其中X和Y代表Python的主版 本和次版本号)。

当然,你也可以通过在代码中使用sys.path.append(path)来添加其他搜索路径。

至于第二个问题,任意目录下的模块并不一定都可以被调用。在使用import语句调用模块时,Python只会搜索特定目录中的模块。如果你把自己编写的模块放在了Python搜索路径之外的目录中,你需要通过修改sys.path或设置PYTHONPATH来将该目录添加到Python的搜索路径中,这样才能顺利地调用该模块。

[root@learning ~]# cat timelogfunction.py #一个使用装饰器,记录运行时间,和输出日志的代码,
import time
import logging
logging.basicConfig(filename = "/tmp/123.log",level = logging.INFO)def log(f):   #可以被调用的log模块def wrapper():logging.info("%s is running" % f.__name__)return f()return wrapperdef print_run_time(f):  #可以被调用的运行时间模块def wrapper(*args, **kwargs):local_time = time.time()f(*args, **kwargs)print('hanshu[%s]zhixingshijian is %.2f miao' % (f.__name__, time.time() - local_time))#f(*args, **kwargs)return wrapper#@print_run_time
def test():   #可以忽略time.sleep(0.5)print('123')#test()
[root@learning ~]# cat test3.py   #主程序
import timelogfunction   #调用上面写的模块
import time
@timelogfunction.print_run_time
def f():print("hello, test script")s = 1for i in range (1, 100):s += iprint(s)time.sleep(0.2)f()
[root@learning ~]# python3.11 test3.py   #运行结果 
hello, test script
4951
hanshu[f]zhixingshijian is 0.20 miao

相关文章:

python - 模块

rootlearning ~]# cat gcdfunction.py #写一个模块&#xff0c;并调用此模块 def gcd(n1,n2): #之前用过的求最大公约数的代码gcd 1k 2while k< n1 and k<n2:if n1%k 0 and n2 % k 0:gcd kk k 1return gcd [rootlearning ~]# cat module.py #完整代码 from gc…...

【Web】CTFSHOW java刷题记录(全)

目录 web279 web280 web281 web282 web283 web284 web285 web286 web287 web288 ​web289 web290 web291 web292 web293 web294 web295 web296 web297 web298 web299 web300 web279 题目提示 url里告诉我们是S2-001 直接进行一个exp的搜 S2-001漏洞分析…...

全球付汇业务的流程

全球付汇业务&#xff0c;主要是针对的进口类业务&#xff0c;并且是一般贸易进口的业务。 主要流程如下&#xff1a; 1.境内客户通过大额系统将人民币转入支付公司的备付金账户&#xff08;一般此客户为企业客户&#xff09;&#xff0c;转账需要通过大额系统&#xff1b; 2.至…...

ubuntu22.04@laptop OpenCV Get Started: 012_mouse_and_trackbar

ubuntu22.04laptop OpenCV Get Started: 012_mouse_and_trackbar 1. 源由2. mouse/trackbar应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 鼠标位置跟踪注释3.1 注册回调函数3.2 回调操作3.3 效果 4. 使用轨迹栏调整图像大小4.1 初始化轨迹栏&注册回调函数4.2 回调操作4.3 效…...

信息安全性测试

1 信息安全性测试 信息安全性测试是确保产品或系统能够有效地保护信息和数据&#xff0c;使得用户、其他产品或系统的访问权限与其授权类型和级别相一致的一系列检查过程。信息安全性测试也应该是一个持续的过程&#xff0c;确保信息系统能够抵御恶意攻击&#xff0c;并保护数…...

[HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…...

【Java】文件操作与IO

文件操作与IO Java中操作文件针对文件系统的操作File类概述字段构造方法方法及示例 文件内容的读写 —— 数据流Java提供的 “流” API文件流读写文件内容InputStream 示例读文件示例1&#xff1a;将文件完全读完的两种方式示例二&#xff1a;读取汉字 写文件谈谈 OutputStream…...

开关电源电路主要元器件基础知识详解

在学习电子电路过程中&#xff0c;电源我们无法绕开的一个重要部分&#xff0c;很多时候&#xff0c;故障就出现在电源部分&#xff0c;特别是开关电源。开关电源电路主要是由熔断器、热敏电阻器、互感滤波器、桥式整流电路、滤波电容器、开关振荡集成电路、开关变压器、光耦合…...

- 项目落地 - 《选择项目工具的方法论》

本文属于专栏《构建工业级QPS百万级服务》 提纲&#xff1a; 选择大概率能完成业务目标的工具选择最适合的工具制作最适合的工具 本文所说的项目工具&#xff0c;泛指业务软件开发&#xff0c;所依赖的第三方提供的成熟的资源。包括但不限于开发语言、编辑工具、编译工具、三方…...

美国突然致敬中本聪

作者&#xff1a;秦晋 有点看不懂美国的神操作。 2月16日&#xff0c;据《Bitcoin Magazine》报道&#xff0c;比特币的竞争对手、美国参议员伊丽莎白-沃伦对比特币的立场突然180度大转弯。由反对立场转为支持立场。让很多行业媒体出乎意料&#xff0c;甚至惊掉下巴。 报道称&a…...

精品springboot基于大数据的电脑主机硬件选购助手-可视化大屏

《[含文档PPT源码等]精品基于springboot基于大数据的电脑主机硬件选购助手[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&a…...

全量和已占用字符集 、字符串统计

题目描述&#xff1a; 全量和已占用字符集 、字符串统计&#xff08;分值100&#xff09; 给定两个字符集合&#xff0c;一个是全量字符集&#xff0c;一个是已占用字符集&#xff0c;已占用字符集中的字符不能再使用。 要求输出剩余可用字符集。 输入描述 输入一个字符串 一…...

什么是智慧公厕,智慧公厕有哪些功能

1.什么是智慧公厕&#xff1f; 随着智慧城市的快速发展&#xff0c;公共厕所作为城市基础设施的一部分&#xff0c;也在逐步升级转型。那么&#xff0c;什么是智慧公厕&#xff1f;智慧公厕作为智慧城市的重要组成部分&#xff0c;将公共厕所的建设、设计、使用、运营和管理等…...

给定n个结点m条边的简单无向图,判断该图是否存在鱼形状的子图:有一个环,其中有一个结点有另外两条边,连向不在环内的两个结点。若有,输出子图的连边

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e18 * 3, maxm 4e4 …...

深入理解lambda表达式

深入理解ASP.NET Core中的中间件和Lambda表达式 var builder WebApplication.CreateBuilder(args); var app builder.Build(); app.Use(async (context, next) > { // Add code before request. await next(context);// Add code after request.}); 这段C#代码是用于设…...

删除 Windows 设备和驱动器中的 WPS网盘、百度网盘等快捷图标

在安装诸如WPS软件、百度云盘、爱奇艺等客户端后&#xff0c;Windows 的“我的电脑”&#xff08;或“此电脑”&#xff09;中的“设备和驱动器”部分会出现对应的软件图标。这种情况被许多技术人员视为不必要的干扰&#xff0c;因此许多用户想要知道如何隐藏或删除这些图标。 …...

【深度学习:DICOM 注释工具】在 DICOM 注释工具中寻找的 7 个功能

【深度学习&#xff1a;DICOM 注释工具】在 DICOM 注释工具中寻找的 7 个功能 原生 DICOM 支持原生 3D 注释易于使用的界面DICOM 图像的自动注释质量控制功能审计跟踪SOC2 和 HIPAA 合规性 如果您尝试为医疗 AI 模型创建训练数据&#xff0c;您可能已经使用了免费的开源工具&am…...

Spring Boot与Kafka集成教程

当然可以&#xff0c;这里为您提供一个简化版的Spring Boot与Kafka集成教程&#xff1a; 新建Spring Boot项目 使用Spring Initializr或您喜欢的IDE&#xff08;如IntelliJ IDEA, Eclipse等&#xff09;新建一个Spring Boot项目。 添加依赖 在项目的pom.xml文件中&#xff0c;…...

基于飞腾ARM+FPGA国产化计算模块联合解决方案

联合解决方案概述 随着特殊领域电子信息系统对自主创新需求的日益提升&#xff0c;需不断开展国产抗恶劣环境计算整机及模块产 品的研制和升级。特殊领域电子信息系统的自主创新&#xff0c;是指依靠自身技术手段和安全机制&#xff0c;实现信息系统从硬 件到软件的自主研发…...

关于DVWA靶场Could not connect to the database service的几种解决办法

总的来说这个问题都是 config 配置文件没有修改正确 一般修改数据库的用户名和密码与 phpstudy 一致并且添加了 key 就能初始化成功的 但是我还遇到过另一种情况&#xff0c;修改了上面的东西依旧无法连接到数据库 Could not connect to the database service. Please check …...

探索NVMe管理工具的未来:v2.12版本如何重新定义存储控制边界

探索NVMe管理工具的未来&#xff1a;v2.12版本如何重新定义存储控制边界 【免费下载链接】nvme-cli NVMe management command line interface. 项目地址: https://gitcode.com/gh_mirrors/nv/nvme-cli NVMe-CLI作为现代NVMe固态存储设备的核心管理工具&#xff0c;在v2.…...

别再复制粘贴了!深度解析STM32F429的OLED驱动代码,让你的显示更稳定

从能用走向卓越&#xff1a;STM32F429 OLED驱动深度优化实战 在嵌入式开发中&#xff0c;OLED显示屏因其高对比度、低功耗和快速响应等优势&#xff0c;成为许多项目的首选显示方案。然而&#xff0c;很多开发者在使用STM32F429驱动OLED时&#xff0c;往往止步于"能用&quo…...

从QRegExp迁移到QRegularExpression避坑全记录:我们项目踩过的雷和最佳实践

从QRegExp迁移到QRegularExpression避坑全记录&#xff1a;我们项目踩过的雷和最佳实践 当团队决定将代码库从Qt4/Qt5升级到Qt6时&#xff0c;正则表达式模块的迁移往往是最容易被低估的挑战之一。我们项目组在重构过程中&#xff0c;曾因QRegExp到QRegularExpression的语法差异…...

C语言数组内存布局解析:从连续存储到性能优化实践

1. 项目概述&#xff1a;从内存视角重新认识C语言数组很多C语言初学者&#xff0c;包括一些已经工作一两年的朋友&#xff0c;对数组的理解可能还停留在“一组连续的同类型变量”这个层面。这没错&#xff0c;但如果你只看到这一层&#xff0c;写代码时就容易踩坑&#xff0c;尤…...

GEO优化实战指南:中小企业如何精准提升本地服务获客效率?

随着线上营销的重要性日益凸显&#xff0c;中小企业面临着前所未有的机遇与挑战。GEO&#xff08;生成式引擎优化&#xff09;作为近年来兴起的一种技术手段&#xff0c;旨在帮助企业更高效地利用AI平台进行品牌推广与客户获取。本文将探讨中小企业如何通过GEO优化策略&#xf…...

基于NVIDIA Jetson Nano的无人机边缘AI系统:从架构设计到自主跟踪实战

1. 项目概述&#xff1a;当无人机遇上边缘AI大脑几年前&#xff0c;当我第一次把一块NVIDIA Jetson Nano塞进一架450轴距的无人机机架里&#xff0c;看着它仅凭机载摄像头就识别出前方的障碍物并自主绕开时&#xff0c;那种兴奋感至今记忆犹新。这不仅仅是给无人机加了个“眼睛…...

WinDirStat终极指南:3步掌握Windows磁盘空间可视化分析

WinDirStat终极指南&#xff1a;3步掌握Windows磁盘空间可视化分析 【免费下载链接】windirstat WinDirStat is a disk usage statistics viewer and cleanup tool for Microsoft Windows 项目地址: https://gitcode.com/gh_mirrors/wi/windirstat WinDirStat是一款功能…...

从SES价签到ESP32墨水屏驱动板:自制低成本电子价签全记录

1. 从废品到宝藏&#xff1a;SES电子价签的二次生命 第一次看到SES电子价签是在一家即将倒闭的超市里&#xff0c;成堆的废弃价签被当作垃圾处理。当时我就想&#xff1a;这些自带墨水屏的小玩意&#xff0c;能不能变废为宝&#xff1f;后来在二手平台以每片不到20元的价格收购…...

5分钟搭建拼多多数据采集系统:零基础也能掌握的电商数据分析利器

5分钟搭建拼多多数据采集系统&#xff1a;零基础也能掌握的电商数据分析利器 【免费下载链接】scrapy-pinduoduo 拼多多爬虫&#xff0c;抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 想要了解拼多多平台的热销商品趋势…...

从订阅到命令面板:全面理解 SAP Business Application Studio 中的 SAP Fiori 开发入口

在很多 SAP Fiori 项目里,团队把精力都放在 SAPUI5、OData、Fiori elements、注解模型和部署流程上,却常常低估了开发环境本身对效率的影响。等到项目进入多人协作、跨系统联调、权限分配和模板生成阶段,大家才会发现,开发工具并不只是一个写代码的地方,它实际上决定了团队…...