首页 > 其他分享 >import 某文件夹内的脚本 如果子文件夹有同名脚本 会读取哪一个?

import 某文件夹内的脚本 如果子文件夹有同名脚本 会读取哪一个?

时间:2023-12-02 11:04:40浏览次数:29  
标签:脚本 解释器 Python py 导入 模块 import 文件夹

在Python中,当你尝试导入一个模块时,Python解释器会按照一定的规则在文件系统中查找对应的文件¹²³⁴。具体来说,Python解释器会按照以下的顺序查找模块:

  1. 内建模块:Python解释器会首先查看该模块是否是内建模块,也就是说,该模块是否是Python解释器内部的一部分¹²³⁴。
  2. sys.modules:如果该模块不是内建模块,Python解释器会查看该模块是否已经被导入¹²³⁴。如果该模块已经被导入,Python解释器会直接使用已经导入的模块¹²³⁴。
  3. sys.path:如果该模块既不是内建模块,也没有被导入,Python解释器会在sys.path变量所列出的目录中查找该模块¹²³⁴。sys.path变量包含了当前目录、PYTHONPATH环境变量中的目录,以及Python安装时设定的默认目录¹²³⁴。

因此,如果你有两个同名的模块,一个在父文件夹中,一个在子文件夹中,Python解释器会导入在sys.path先找到的那个模块¹²³⁴。具体导入哪一个模块取决于你的模块导入语句以及你的sys.path设置¹²³⁴。

例如,如果你的文件结构如下:

project/
    main.py
    module.py
    subfolder/
        module.py

main.py中,你可以通过以下方式导入模块:

  • import module:这将导入project/目录下的module.py¹²³⁴。
  • from subfolder import module:这将导入project/subfolder/目录下的module.py¹²³⁴。

希望这个解释对你有所帮助!源: 与必应的对话, 2023/12/2

(1) Python如何import不同文件夹下的文件(module) - 知乎. https://zhuanlan.zhihu.com/p/451438246.

(2) python项目文件夹内的脚本,如何引用另一个文件夹的脚本? - 知乎. https://www.zhihu.com/question/601426373.

(3) 立马搞定同一目录下相邻文件夹中的Python Import,只想赶紧搞定下班的来! - 知乎. https://zhuanlan.zhihu.com/p/621425619.

(4) python引入同一目录下的py文件_从同一个文件夹下引入另一个py文件用写文件夹名称吗-CSDN博客. https://blog.csdn.net/qq_37950540/article/details/84452642.

标签:脚本,解释器,Python,py,导入,模块,import,文件夹
From: https://blog.51cto.com/u_16055028/8654118

相关文章

  • Linux系统中查看当前文件夹下文件的个数
    在linux系统中,可以使用ls命令查看有多少个文件,该命令用于显示指定目录下的内容,当参数设置为“wc-c”时,可显示目录下的文件个数,语法为“ls目录路径|wc-c”;可用“sudols/*|wc-c”查看整个电脑的目录数目。1.统计当前目录下文件的个数(不包含目录或子文件夹):ls-l|......
  • Hadoop 一些脚本总结
    1.各个模板分开启动/停止1.整体启动/停止HDFSstart-dfs.sh/stop-dfs.sh2.整体启动/停止YARNstart-yarn.sh/stop-yarn.sh2.各个服务组件逐一启动/停止1.分别启动/停止HDFS组件hdfs--daemonstart/stopnamenode/datanode/secondarynamenode2.分别启动/停止YARN......
  • mac 在/home目录下面创建文件夹
    1、编译/etc/auto_master文件,注释掉或者移除以/home开头的那一行,保存。sudovim/etc/auto_master注释掉/home哪一行,如下所示:1#Automountermastermap2+auto_master#Usedirectoryservice3/net-hosts-nobrowse,hide......
  • Python中的惰性导入/懒导入/动态导入(Lazy Import)
    参考资料:https://cloud.tencent.com/developer/article/2204701https://github.com/huggingface/diffusers想研究这个lazyimport的起因是:我想学习一下高级的算法工程师是如何构建一个pip包的,然后我发现在diffusers这个广泛使用的huggingface包的组织方式中出......
  • 记一个Python脚本--将webp图片转jpg格式
    什么是WebP图片格式?如何在线转换WebP格式?我们有时候从互联网上下载图片会发现图片是WebP格式而不是常见的JPEG或者是PNG格式,用自带的图片处理软件无法打开,那么什么是WebP格式呢?我们该如何打开WebP格式的图片文件?需要进行图片处理的时候怎么样才能在线转换WebP格式为常用的JPG格式......
  • Inno Setup6.2.0汉化版软件及生成更新包脚本(三)
    按照 InnoSetup6.2.0汉化版软件及生成安装脚本(二)的安装包安装后可以安装以下脚本进行更新,会自动识别版本,关闭服务,关闭打开的客户端,更新客户端,最后启动服务。//定义常量#defineMyAppId"08FBA954-A306-4782-8C02-05F3DFE01772"#defineMyAppName"客户端名称"#defineO......
  • jenkins通过脚本自动创建tag
    1、创建账号文件2、添加脚本echo"执行脚本"pwdgitconfig--globalcredential.helper"store--file=/root/jenkins/credential_file"echo"获取提交信息"msg=$(gitlog-n1--grep=ci--pretty=format:"%s")echo"获取日期"dd=$(date+&......
  • Inno Setup6.2.0汉化版软件及生成安装包脚本(二)
    个人研究,为了记录下打包脚本,大家也可以安装打包脚本向导一步一步生成。下面是我打包的脚本,其中包含了安装过程中执行批处理文件,是为了安装API服务,可以参考下:;脚本由InnoSetup脚本向导生成!;有关创建InnoSetup脚本文件的详细资料请查阅帮助文档!#defineMyAppName"客......
  • Unity3D角色移动控制脚本
    Unity3D角色移动控制脚本键盘控制方向鼠标控制方向键盘控制方向privateCharacterControllercontroller;publicfloatSpeed=1f;publicfloatRotateSpeed=1f;voidStart(){ controller=transform.GetComponent<CharacterController>();}voidUpdate(){ //键盘......
  • 通过PowerShellPlus示例脚本学习PowerShell-使用SMO创建MSSQL任务
    ##=====================================================================##Title:Create-MSSQLJob-UsingSMO##Description:CreateadailySQLjobtocallapowershellscript##Author:Idera##Date:9/1/2008##Input:-serve......