import上一级目录的模块(Python)

import上一级目录的模块(Python)

import上一级目录的模块(Python)

python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。
import某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以import了。
既然这样,要import上一级目录的module,可以sys.path.insert(0,parentdir)
不过这种写绝对路径的方式,如果文件放到其它地方,就不行了。
所以用动态方法来获取上一级目录。

import os,sys 
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
sys.path.insert(0,parentdir)  

为什么用sys.path.insert(0,parentdir) 而不是用sys.path.append(parentdir)
因为是遍历搜索路径的,所以如果在其它路径里也有个同名的module,会import错。用sys.path.insert(0,parentdir)可以确保先搜索这个路径。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2148.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ThinkPHP商城实战

    ThinkPHP商城实战

    2021年10月17日
  • 什么是python标识符?_python语言正确的标识符

    什么是python标识符?_python语言正确的标识符简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:标识符是由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字。标识符不能和Python中的保留字相同。有关保留字,后续章节会详细介绍。Python中的标识符中,不能包含空格、@、%以及$等特殊字符。例如,下面所列举的标识符是合法的:UserIDnamemode12

  • 返回跳转指定页面的JS代码_页面跳转

    返回跳转指定页面的JS代码_页面跳转JS跳转页面参考代码第一种:    window.location.href=”login.jsp?backurl=”+window.location.href;第二种:    alert(“返回”);window.history.back(-1);   第三种:   window.navigate(“top.jsp”);  

  • PHP7.4.3 The FastCGI process exited unexpectedly 错误代码0xffffffff 解决办法

    PHP7.4.3 The FastCGI process exited unexpectedly 错误代码0xffffffff 解决办法运行环境:Windows2016数据中心x64+IIS10+PHP7.4.3网页访问php文件显示:TheFastCGIprocessexitedunexpectedly错误代码:0xffffffff运行php-cgi.exe提示”丟失VCRUNTIME140.dll”安装MicrosoftVisualC++2015Redistributable,还是不行命令行运行…

  • redis数据库端口号_redis对接mysql

    redis数据库端口号_redis对接mysql关系型数据库一:Oracle驱动:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:@:dbname注:machine_name:数据库所在的机器的名称,如果是本机则是127.0.0.1或者是localhost,如果是远程连接,则是远程的IP地址;port:端口号,默认是1521二:SQLServer驱动:com.microsoft.jdb…

  • linux网络配置出现E325,Linux CentOS E325错误,如何解决?VI如何使用?「建议收藏」

    linux网络配置出现E325,Linux CentOS E325错误,如何解决?VI如何使用?「建议收藏」Linuxvi命令即vi编辑器,是Linux/UNIX环境下经典的编辑器。Linuxvi命令非常强大,可以使用它高效的编辑代码,配置系统文件等,运用非常广泛。但在Linux系统中打开vi编辑器时,不少朋友会提示E325:ATTENTION类的错误。那么,遇到这种情况后,该如何解决此类问题呢?为什么会出现E325:ATTENTION类的错误?出现此类错误是vi程序对文件的一种保护机制(…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号