精华内容
下载资源
问答
  • 下面命令可以查看当前的搜索路径:import sysprint(sys.path)sys.path的初始值来源于两个(其实还有一些更复杂但不常用的)。一个是系统的PYTHONPATH变量,因此可通过设置该变量,来设置 Python 默认的搜索位置。比如...

    1. 绝对路径引入

    Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止。下面命令可以查看当前的搜索路径:

    import sys

    print(sys.path)

    sys.path的初始值来源于两个(其实还有一些更复杂但不常用的)。一个是系统的PYTHONPATH变量,因此可通过设置该变量,来设置 Python 默认的搜索位置。比如:

    export PYTHONPATH=/opt/python:$PYTHONPATH

    echo $PYTHONPATH

    将该命令放在系统初始化脚本(/etc/environment)或者 BASH 初始化脚本(/~/.bashrc)里,可以对每个新开的窗口有效。

    sys.path的另一个来源是当前执行程序所在的目录 (而不是当前目录)。比如当前目录下文件夹./cc下有一个b.py,那么执行./cc/b.py时,./cc(而不是./!)将被加到sys.path:

    python ./cc/b.py

    2. 相对路径引用

    上面说的是搜索模块都是指绝对路径引用。对于非系统目录,就需要操纵sys.path。但操纵sys.path有外溢效果,因为它是一个全局变量。对于同一个库里的模块的互相引用,可以考虑使用相对路径:

    from . import abc

    from .abc import fool

    from ..up import foo

    但相对路径有两个很恶心的问题,使得用法极为受限。其中一个是:

    Note that both explicit and implicit relative imports are based on the name of the current module. Since the name of the main module is always __main__, modules intended for use as the main module of a Python application should always use absolute imports.

    包含相对路径 import 的 python 脚本不能直接运行,只能作为 module 被引用。原因正如手册中描述的,所谓相对路径其实就是相对于当前 module 的路径,但如果直接执行脚本,这个 module 的 name 就是__main__, 而不是 module 原来的 name , 这样相对路径也就不是原来的相对路径了,导入就会失败。

    在使用相对引用的文件中,不能有 __main__ 方法,只执行作为一个 module 进行引用,而不是直接执行脚本。

    举个简单例子。假设./cc/目录下已有一个./cc/b.py(内容为空)。当前目录下的./a.py内容为:

    from .cc import b

    那么直接运行python ./a.py将会报错:

    ModuleNotFoundError: No module named '__main__.cc'; '__main__' is not a package

    另一个是常见的错误是: ValueError: attempted relative import beyond top-level package。

    在涉及到相对导入时,package所对应的文件夹必须正确的被python解释器视作package,而不是普通文件夹。否则由于不被视作package,无法利用package之间的嵌套关系实现python中包的相对导入。

    文件夹被python解释器视作package需要满足两个条件:

    1、文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。

    2、不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)。

    补充:在"from YY import XX"这样的代码中,无论是XX还是YY,只要被python解释器视作package,就会首先调用该package的__init__.py文件。如果都是package,则调用顺序是YY,XX。

    另外,练习中“from . import XXX”和“from .. import XXX”中的'.'和'..',可以等同于linux里的shell中'.'和'..'的作用,表示当前工作目录的package和上一级的package。

    举个例子:

    testIm/

    --init.py

    --main.py : from Tom import tom

    --Tom/

    --init.py : print("I'm Tom's init!")

    --tom.py : from . import tomBrother, from .. import kate,print("I'm Tom!")

    --tomBrother.py print(I'm Tom's Brother!)

    --Kate/

    --init.py : print("I'm Kate's init!")

    --kate.py

    运行文件:main.py

    结果:

    I'm Tom's __init__!

    I'm Tom's Brother!

    Traceback (most recent call last):

    File "D:\PythonLearning\TestIm\main.py", line 3, in

    from Tom import tom

    File "D:\PythonLearning\TestIm\Kate\kate.py", line 4, in

    from .. import kate

    ValueError: attempted relative import beyond top-level package

    >>>

    可以看到from . import tomBrother顺利执行,首先执行了Tom文件夹下的__init__.py文件,后来执行了tomBrother.py文件,但是当执行到“from .. import kate”时报错,这是因为我们是在TestIm文件夹下把main.py文件作为主函数的入口执行的,因此尽管TestIm文件夹中有__init__.py文件,但是该文件夹不能被python解释器视作package,即Tom package不存在上层packge,自然会报错,相对导入时超出了最高层级的package。

    修改方法:

    test/

    --main.py : from testIm.Tom import tom

    --testIm/

    --init.py

    --Tom/

    --init.py : print("I'm Tom's init!")

    --tom.py : from . import tomBrother, from .. import Kate,print("I'm Tom!")

    --tomBrother.py print(I'm Tom's Brother!)

    --Kate/

    --init.py : print("I'm Kate's init!")

    --kate.py

    运行文件:main.py

    结果:

    I'm top's __init__!

    I'm Tom's __init__!

    I'm Tom's Brother!!

    I'm Kate's __init__!

    I'm Tom!

    即主函数入口不在TestIm中,则TestIm和其同样包含__init__.py文件的子文件夹都被python解释器视作package,形成相应的嵌套关系。可以正常使用from . import XXX和from .. import XXX。

    以上就是详解Python中的路径问题的详细内容,更多关于Python 路径的资料请关注菜鸟教程www.piaodoo.com其它相关文章!

    展开全文
  • 在vue的项目中,我们会遇到 import Vue from 'vue' import Router from 'vue-router' import searchinput from '../components/mod/searchinput' ...@/ 是webpack设置的路径别名,具体代表什么路径,要看webpack的buil

    在vue的项目中,我们会遇到

    import Vue from 'vue'
    import Router from 'vue-router'
    import searchinput from '../components/mod/searchinput'
    import HelloWorld from '@/components/HelloWorld'
    

    这样的路径引用

    其中,./ 表示的是当前目录下,../表示的是父级目录下,
    @/ 是webpack设置的路径别名,具体代表什么路径,要看webpack的build文件夹下webpack.base.conf.js里面对于@是如何配置

      resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
          'vue$': 'vue/dist/vue.esm.js',
          '@': resolve('src'),
        }
      },
    

    在这里,@/就代表了src这个文件下

    展开全文
  • 什么是 MATLAB 搜索路径?MATLAB® 搜索路径是文件系统中所有文件夹的子集。MATLAB 使用搜索路径来高效地定位用于 MathWorks® 产品的文件。搜索路径上的文件夹顺序十分重要。当在搜索路径上的多个文件夹中出现同名...

    什么是 MATLAB 搜索路径?

    MATLAB® 搜索路径是文件系统中所有文件夹的子集。MATLAB 使用搜索路径来高效地定位用于 MathWorks® 产品的文件。

    搜索路径上的文件夹顺序十分重要。当在搜索路径上的多个文件夹中出现同名文件时,MATLAB 将使用搜索路径中最靠前的文件夹中的文件。

    默认情况下,搜索路径包括以下文件夹

    MATLAB userpath 文件夹,它在启动时添加到搜索路径中,并且是用于存储用户文件的默认位置

    作为 MATLABPATH 环境变量的一部分定义的文件夹

    MATLAB 和其他 MathWorks 产品的文件夹,它们位于 matlabroot/toolbox 下面,其中 matlabroot 是在命令行窗口中运行 matlabroot 时显示的文件夹。

    类、包、private 和 resources 文件夹是特殊文件夹,无法显式指定为搜索路径的一部分。当特殊文件夹的父文件夹指定为路径的一部分时,该特殊文件夹会隐式添加到搜索路径中。要访问特殊文件夹中的文件和文件夹,必须将其父文件夹添加到路径中。

    您可以将您运行的文件的文件夹明确添加至搜索路径。有关将文件添加到搜索路径的详细信息,请参阅更改搜索路径上的文件夹。

    在 MATLAB Online™ 中,所有文件夹都会自动添加到路径。搜索路径上的 userpath 文件夹

    userpath 文件夹在搜索路径上处于第一位。默认情况下,MATLAB 将在启动时将 userpath 文件夹添加至搜索路径。此文件夹是存储用于 MATLAB 的文件的便利位置。

    默认的 userpath 文件夹因平台而异。

    Windows® 平台 - %USERPROFILE%/Documents/MATLAB。

    Mac 平台 - $home/Documents/MATLAB。

    Linux® 平台 - $home/Documents/MATLAB(如果 $home/Documents 存在)。

    MATLAB Online — /users/youruserid.

    或者,要确定或更改当前的 userpath 文件夹,请调用 userpath。

    默认情况下,userpath 文件夹也是您在双击 Windows 系统上的 MATLAB 快捷方式或 Mac 系统上的 MATLAB 应用程序启动 MATLAB 时的启动文件夹。MATLABPATH 环境变量

    MATLABPATH 环境变量可包含其他一些要在启动时添加到 MATLAB 搜索路径的文件夹。这些文件夹被置于 userpath 文件夹之后,但先于 MathWorks 的文件夹。默认情况下未设置 MATLABPATH 环境变量。有关如何设置 MATLABPATH 环境变量的详细信息,请参阅设置 MATLABPATH 环境变量。确定文件和文件夹是否处于搜索路径上

    确定文件和文件夹是否处于搜索路径上的方法有多种。您可以检查单独的文件或文件夹是否处于搜索路径上,也可以查看整个搜索路径。

    检查文件或文件夹是否处于搜索路径上

    要确定文件是否处于搜索路径上,请运行 which

    filename。如果文件处于搜索路径上,MATLAB 将返回文件的完整路径。

    要确定文件或文件夹是否处于搜索路径上,请使用当前文件夹浏览器。不在路径上的文件和文件夹将灰显。要确保已对当前文件夹浏览器进行设置,使之指示文件或文件夹是否在搜索路径上,请右键点击任一文件或文件夹,然后选择指示不在路径中的文件选项。

    将指针悬停在当前文件夹浏览器中任何灰显的文件或文件夹之上以查明其灰显原因。此时会打开一个包含说明的工具提示。工具提示往往会指示文件或文件夹不在 MATLAB 路径上。如果没有显示工具提示,则它可能已被禁用。要启用工具提示,请进入主页选项卡,并在环境部分点击 28d9e1e140ab89bc8dc41e194b620138.png 预设。然后,选择 MATLAB > 当前文件夹。选择显示工具提示,说明文件无法访问的原因以显示工具提示。查看整个搜索路径

    运行 path 命令以查看位于 MATLAB 搜索路径上的所有文件夹。

    此外,可以使用“设置路径”对话框来查看整个 MATLAB 搜索路径。在主页选项卡上的环境部分中,点击设置路径。“设置路径”对话框随即打开,其中列出了搜索路径上的所有文件夹。有关使用“设置路径”对话框的详细信息,请参阅更改搜索路径上的文件夹。

    cb7d887e288aae69ce57e844967bb294.png搜索路径不是系统路径

    搜索路径与系统路径不同。此外,MATLAB 搜索路径与系统路径之间没有任何显式关系。但是,两个路径都有助于找到文件,具体如下所述:

    MATLAB 使用搜索路径更高效地找到 MATLAB 文件。

    操作系统可使用系统路径高效地找到操作系统文件。MATLAB 如何存储搜索路径

    MATLAB 将搜索路径信息保存在 pathdef.m 文件中。此文件包含一系列完整路径名称,搜索路径上的每个文件夹对应其中一个。

    默认情况下,pathdef.m 位于 matlabroot/toolbox/local 中。

    当您更改搜索路径时,MATLAB 会在当前会话中使用该路径,但不会更新 pathdef.m。要在当前和以后的会话中使用修改后的搜索路径,可以使用 savepath 或“设置路径”对话框中的保存按钮来保存所做的更改。这将更新 pathdef.m。

    在 MATLAB Online 中,将自动保存对搜索路径的所有更改。

    另请参阅

    相关主题

    展开全文
  • http://blog.csdn.net/porcupinefinal/ (尊重劳动成果本文主要介绍的是Python入门的相对路径和绝对路径的详细介绍,如果你想知道Python入门在相对路径,绝对路径os.path.abspath('.')可以获取当前脚本所在的路径,...

    浅谈 python 的相对路径与绝对路径 转载请注明出处 http://blog.csdn.net/porcupinefinal/ (尊重劳动成果

    本文主要介绍的是Python入门的相对路径和绝对路径的详细介绍,如果你想知道Python入门在相对路径,绝对路径

    os.path.abspath('.')可以获取当前脚本所在的路径,当我们需要在该目录下生成python 相对路径 打开文件夹

    注:我们常用’/‘来表示相对路径,’\‘来表示绝对路径,上面的路径里\\是转义的意思(3也可以写成open(r'

    对于Python入门不久的同志这可能是而相对路径和绝对路径是这方面的典型(相对路径在Windows下可行,而在Linux

    比如当前目录是:/home/,那么现在path2=os.path.abspath('.')#表示当前所处的文件夹上一级文件夹的绝对

    当前目录就是你这个python文件在的相对路径相对路径基就是基于当前运行文件(当前的程序,高手都把程序叫做

    大家应该注意到了,用双反斜线或者斜线区分层次python相对路径写法:如果os.pardir-路径中表示目录树上一级

    本篇文章主要介绍了理解Python中的绝对路劲和相对路径,小编觉得挺不错的,现在分享给大家,也给大家做个

    python import的文件open相对路径的文件,路径

    1010x549 - 88KB - PNG

    python import的文件open相对路径的文件,路径

    526x344 - 26KB - PNG

    Python中的相对文件路径的调用

    490x260 - 22KB - JPEG

    转python __file__ 与相对路径

    280x220 - 15KB - PNG

    Python--urlparse 之 urljoin() 将相对路径转化成绝

    669x260 - 273KB - PNG

    Python--urlparse 之 urljoin() 将相对路径转化成绝

    678x260 - 32KB - JPEG

    Python中的相对文件路径的调用

    502x260 - 14KB - JPEG

    python 获取运行路径

    280x220 - 5KB - PNG

    python爬虫入门 实战(一)---爬糗事百科初窥XPa

    600x239 - 28KB - PNG

    请教一个关于平python 3.4.3 的相对包导入问题

    600x251 - 32KB - JPEG

    Python实例浅谈之七socket编程

    645x322 - 42KB - PNG

    python编辑用户登入界面的实现代码

    816x477 - 59KB - PNG

    python init self

    280x220 - 4KB - PNG

    深入理解 Python 异步编程(上)

    640x696 - 41KB - JPEG

    兄弟连Python视频教程(完整版)

    448x252 - 31KB - JPEG

    展开全文
  • “多路径”技术使用一个以上的物理路径来访问网络存储设备,并通过容错、I/O流量负载均衡甚至更细粒度的I/O调度策略等方式,为网络存储系统提供更高的可用性和性能优势。“多路径”软件可以在三个层次上实现:1、HBA...
  • 一、绝对路径和相对路径什么?DIVCSS5为大家介绍html常常说到相对路径和绝对路径基本知识、作用、用法等知识。相对路径:以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页...
  • 一台微机一般要带两三个磁盘驱动器,其中有的盘(如硬盘)存放的文件很多,为了便于管理,就将某些不同类别的文件分开存放,于是产生了“目录”和“路径”的问题。子目录每一张磁盘上都有一个目录来记录这张盘存放的...
  • 在某些情况下,必须用当前step的解作为条件,根据某些物理条件来改变单元的材料属性以及载荷,作为下一个step的初始条件。用ANSYS自带的APDL可用于一般的流程控制,如果要实现特定的复杂物理模型就比较困难,而且...
  • 有时候我们需要打开终端然后切换到当前文件所在的路径,一步步操作太麻烦,如何能一键完成这些的操作呢? 使用 OpenInTerminal。 简介 OpenInTerminal 是一款适用于 macOS 的工具栏应用程序,能够快速打开...
  • 环境:RHEL 6.4 + Oracle 11.2.0.3 情景一:只是部分普通数据文件迁移,可以在线操作。 1.将对应表空间offline,移动...1.将对应表空间offline,移动数据文件到新路径2.数据文件alter database rename file '' to '';...
  • 执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找 PATH 中的每一个路径,直至找到。或者找完 PATH 中的路径也不能找到,则报错。Java 的编译命令 (javac),执行命令 (java) 和一些工具命令 ...
  • 有些我们自己写的MATLAB函数,希望能够在任何目录下面访问,而不是每次都把这些函数复制到当前目录current directory下,该如何操作呢?思路就是新建一个文件夹,然后将这个文件夹添加到matlab的系统搜索路径中。有...
  • 在使用python的时候总会遇到路径切换的使用情况,如想从文件夹test下的test.py调用data文件夹下的data.txt文件:.└── folder├── data│ └── data.txt└── test└── test.py一种方法可以在data文件下...
  • 类的路径必须与包名匹配。类文件也可以存储在 JAR(Java 归档)文件中。在一个 JAR 文件中,可以包含多个压缩形式的类文件和子目录,这样既可以节省空间又可以改善性能。在程序中用到第三方的库文件时,你通常要得到一...
  • linux cd是什么意思

    2021-05-10 06:46:07
    linux中cd的意思是“change directory”即切换目录,cd命令...linux cd是什么意思?linux中cd的意思是change directory即切换目录。Linux cd命令用于切换当前工作目录至 dirName(目录参数)。其中 dirName 表示法可为...
  • '‘当前工作目录’'也称为当前目录或当前文件夹,指的是matlab用来查找、打开、保存文件的位置,下图所示的就是当前工作目录。 1.查看当前工作目录: >> pwd %(print current working directory)显示当前...
  • … 表示当前目录的上一级目录。 ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定 …/表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。 例如: 文件夹 a 下面有 文件夹b c 和文件 d。 ...
  • 图片路径的使用

    2021-08-30 10:45:47
    所谓的相对路径,指的是图片相对当前页面的位置 如果你编写的xx.html与img文件夹位于同一层目录中,两者是兄弟关系。此时正确的相对路径应该是”img/1.png”。 <img src="img/1.png" /> 如果此时xx.html...
  • 我们把它修改为[$PWD],整个也就变成了%{$fg[cyan]%}[$PWD]%{$reset_color%} $PWD是终端自带变量,值为当前路径,我们做的只是把它取出来而已。 新开一个zsh终端,也就变成了➜ [/home/…/src]这个样子,全路径实现...
  • 所以我们只要在浏览器地址栏输入正确的URL格式,解析过去的主机有绑定此域名,且正确放置网页程序,URL就可以正常访问,那么具体网页的URL是什么意思?我们简单易懂的表述下URL是什么意思,URL就是服务器主机的地址...
  • 进入python的安装目录, 查看python解释器进入bin目录# ls python(看一下是否有python解释器版本)# pwd ...import sysimport osprint('当前 Python 解释器路径:')print(sys.executable)r"""当前 Python 解释器路径...
  • 什么是jar包:参考博客 jar包是干什么的:参考博客 二、环境变量 1.系统变量与用户变量 如何找到系统变量与环境变量 2.系统变量与用户变量的区别 用户变量是指我们当前登入这台电脑的用户,比如管理员用户,普通...
  • python里的sys是什么意思

    千次阅读 2020-12-29 03:34:17
    sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧!...sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。sys.setdefaultencoding(): 设置系统默...
  • 但是当我试图打印当前目录的路径时,我什么都没得到,看看, print("Path is:",os.path.dirname(__file__)) print("sufiyan") 输出: ('Path is:', '') sufiyan Traceback (most recent call last): File"BlackBox....
  • 一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个...
  • 常见的一种误区,是使用pwd命令,该命令的作用是“print name of current/working directory”,这才是此命令的真实含义,当前的工作目录,这里没有任何意思说明,这个目录就是脚本存放的目录。所以,这是不对的。你...
  • 问题新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:“无法找到或加载主类......”这是什么意思,是什么导致它,你应该如何解决它?#1 热门回答(839 赞)java 命令语法首先,您需要了解...
  • C# ,asp.net 获取当前,相对,绝对路径一、C#获取当前路径的方法:. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName-获取模块的完整路径。. System.Environment.CurrentDirectory-获取和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 256,678
精华内容 102,671
关键字:

当前路径是什么意思