-
(更新时间)2021年3月16日 LIUNX系统(基础命令-绝对路径和相对路径)
2021-01-05 23:14:16一:绝对路径和相对路径 1. 绝对路径 从根目录算起的路径叫做绝对路径 例如: /home/python/Desktop /usr/bin 2. 相对路径 从当前目录算起的路径叫做相对路径 例如: ./test/hello …/static/images 3. 绝对路径和...一:绝对路径和相对路径
1. 绝对路径
从根目录算起的路径叫做绝对路径
例如:
- /home/python/Desktop
- /usr/bin
2. 相对路径
从当前目录算起的路径叫做相对路径
例如:
- ./test/hello
- …/static/images
3. 绝对路径和相对路径的使用
- 使用绝对路径切换到桌面
cd /home/python/Desktop
- 在下载目录以相对路径切换到桌面
cd Downloads cd ../Desktop
- 在桌面使用相对路径切换到上一级目录的上一级目录
cd Desktop cd ../../
4. 自动补全
- 当敲出 文件或者目录或者命令 的前几个字母之后,按下 tab 键,如果输入的没有歧义,系统会自动补全
- 当切换目录或者使用命令的时候,如果不确定当前目录下有那些子目录或者其它命令,可以通过两次tab键查看
5. 小结
- 绝对路径和相对路径是路径的两种表现形式,应遵循最短路径原则(使用最短的路径操作某个文件或者目录)。
- 如果切换的目录离当前目录近可以使用相对路径
- 如果切换的目录离根目录近可以使用绝对路径
- 如果切换的目录离根目录和当前目录都一样那么使用绝对路径,因为这样路径很清楚和明确,方便阅读。
备注
对文章内容有疑问或者建议可添加微信:13960699696,欢迎交流。
-
在Python中以绝对路径或者相对路径导入文件的方法
2018-05-25 20:19:431、在Python中以相对路径或者绝对路径来导入文件或者模块的方法 今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的...1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法
今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的情况的。
最后仔细分析了整个代码的目录结构,才发现了问题。下面依次来说明一下今天的情况
先看导入的代码:
在demo——mnist.py文件中执行以下两种导入操作 # 第一处 from gcforest.gcforest import GCForest from gcforest.utils.config_utils import load_json # 第二处 config = load_json("demo_mnist-ca.json") # 里面传入的是文件的位置,这个函数是读取配置文件的内容
然后看一下目录的结构
在此例中,demo_mnist,py为主文件。它第一处要导入的是它当前目录的父目录下的一个子目录中的一个目录中的文件。
所以以绝对路径导入这个文件就是from lib.gcforest.gcforet import GCForest
以相对路径导入这个文件就是from ..gcforest.gcforet import GCForest
第二处导入的是它统一个目录下的另一个文件,所以可以直接导入
所以修改的导入代码为:config = load_json("demo_mnist-ca.json")
2、 顺便复习一下相对路径和绝对路径的概念
绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件。
相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。
以下是常用的表示当前目录和当前目录的父级目录的标识符
../ 表示当前文件所在的目录的上一级目录
./ 表示当前文件所在的目录(可以省略)
/ 表示当前站点的根目录(域名映射的硬盘目录)
在Python中可以验证一下上述的标识方法:测试的目录结构:
import os path1=os.path.abspath('.') # 表示当前所处的文件夹的绝对路径 print(path1) path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径 print(path2)
# D:/PycharmProjects/mnistCheck/AbsolutepathAndrelativepath.py D:\PycharmProjects\mnistCheck D:\PycharmProjects
3、 再了解一下Python sys.path的使用
sys.path是python的搜索模块的路径集,是一个list,如下:
[ 'D:\\PycharmProjects\\mnistCheck', 'D:\\PycharmProjects\\mnistCheck', 'D:\\PycharmProjects\\KerasDataSettry', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\python35.zip', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\DLLs', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib\\site-packages', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\Sphinx-1.6.3-py3.5.egg' ]
可以在python 环境下使用: .
sys.path.append(‘你的模块的名称’)。sys.path.insert(0,’模块的名称’)
添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!
代码中的实现如下:import sys sys.path.append('C:\Users\Administrator\Desktop\ExperimentAss\gcForest-master')
4、最后了解一下 python 在不同层级目录import 模块的方法(重点)
有一个文件夹/home/a, 里面有个模块叫b.py, 我怎么把他import到程序里?
方法一: (属于刚开始分析的代码里第一种情况)
import sys;
sys.path.append(“/home/a/”)
import b方法二:
在目录里面增加__init__.py文件,里面可以写import时执行的代码,当然也可以留空就可以.
import home.a.b方法三:
from home.a.b import *
前提 home、a中都包括__init__.py 即:要导入的文件的当前目录和父目录都要有init.py文件
Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。
下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:
如下面程序结构:
– src
|– mod1.py
|– test1.py若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;
(2)主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
– src
|– mod1.py
|– mod2
| – mod2.py
– test1.py若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
– src
|– mod1.py
|– mod2
|– mod2.py
|– sub
| – test2.py
– test1.py
若在程序test2.py中导入模块mod1.py和mod2.py。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py
而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。
import sys
sys.path.append(“..”)
import mod1
import mod2.mod2(4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。这里仅介绍上面三种简单情况。
总结:
通过总结可以发现,当你要导入的文件在和你的当前文件在同一个目录时,你直接导入这个文件名就好了。
当你要导入的文件或者目录不和你的当前文件同目录时,你需要跳到这个你要导入文件的父级目录,然后一级一级的用点号连接走过的目录或者文件,然后就可以了 至于要怎么跳到这个这个父级目录。比较通用的就是,将父级目录加入系统路径,然后用点号一级一级的寻找,直到到达你要导入的模块。
-
相对路径和绝对路径的区别
2018-10-10 21:27:30例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该...在HTML里只要涉及文件的地方(如超级链接、图片等)就会涉及绝对路径与相对路径的概念。
1.绝对路径
绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:
<body backround="E:\book\网页布局\代码\第2章\bg.jpg" >
2.使用绝对路径的缺点
事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,在自己的计算机上 浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。因为上传到Web服务器上时,可能整个网站并没有放在Web服务器的E盘, 有可能是D盘或H盘。即使放在Web服务器的E盘里,Web服务器的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个目录,因此在浏 览网页时是不会显示图片的。
3.相对路径
为了避免这种隋况发生,通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,“s1.htm” 文件里引用了“bg.jpg”图片,由于“bg.jpg”图片相对于“s1.htm”来说,是在同一个目录的,那么要在“s1.htm”文件里使用以下代 码后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。
<body background="bg.jpg">
再 举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页 布局\代码\第2章\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的“img”子目录里,则引用图片的语句应该 为:
<body background="img/bg.jpg">
注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。
在 相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”,例如“http://www.cnblogs.com/”代表上上级目录。假设 “s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码”,那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里,则引用图片的语句应该为:
<body background="../bg.jpg">
再举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网 页布局\代码\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里的“img”子目录里,则引用图片的语句 应该为:
<body background="../img/bg.jpg">
4.相对虚拟目录
有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:
<body background="/img/bg.jpg">
在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 假设把“E:\book\网页布局\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\img \bg.jpg”;如果把“E:\book\网页布局\代码\第2章”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页 布局\代码\第2章\img\bg.jpg”
-
Python3 相对路径转绝对路径,绝对路径转相对路径
2019-01-08 20:44:56# abspath() 将路径转换为绝对路径 # relpath() 将路径转化为相对路径 # . 点号代表当前目录 # .. 双点号代表父目录 absp = os.path.abspath('..') print(absp) absp = os.path.abspath('.') print(absp) ...Python 全栈工程师核心面试 300 问深入解析(2020 版)----全文预览
Python 全栈工程师核心面试 300 问深入解析(2020 版)----欢迎订阅
**
路径转换
**
看以下实例# abspath() 将路径转换为绝对路径 # relpath() 将路径转化为相对路径 # . 点号代表当前目录 # .. 双点号代表父目录 import os absp = os.path.abspath('..') print(absp) absp = os.path.abspath('.') print(absp) resp = os.path.relpath('.') print(resp)
输出结果:
D:\Hello World\python_work\TLXY_study_note
D:\Hello World\python_work\TLXY_study_note\Package_Module
. -
Linux中使用绝对路径或者相对路径进行目录切换、绝对路径和相对路径的理解
2020-03-10 22:22:46绝对路径和相对路径 文章目录绝对路径和相对路径1. 绝对路径2. 相对路径3. 绝对路径和相对路径的使用4. 自动补全5. 小结 学习目标 能够使用绝对路径或者相对路径进行目录切换 1. 绝对路径 从根目录算起的路径叫做... -
Python 基础篇-相对路径、绝对路径的写法
2019-03-11 10:02:39Python的路径分相对路径和绝对路径。 ./代表当前文件夹,../代表上一级文件夹。 -
绝对路径和相对路径的区别 什么时候用绝对路径? 什么时候用相对路径?
2020-04-11 20:58:07一、绝对路径和相对路径异同点: 两者的相同之处,在于两者都是对图像,音乐,网址,视频等文件资源的引用方法。 两者的不同之处,在于描述目录路径时,所采用的参考基准点不同。 绝对路径:直接指明文件在硬盘上... -
相对路径和绝对路径
2018-09-25 09:52:02相对路径和绝对路径,往往都是初学者最困惑的知识点之一。在这一节,我们详细跟大家探讨一下这两者的区别和写法。 我们在C盘目录下建立一个网站,网站名称为“BookTest”,这个网站下的目录内容如下: 我们先... -
PHP 相对路径 绝对路径 路径转换 realpath php把相对路径转换成绝对路径方法
2018-08-07 00:05:00绝对路径 realpath <?php /** * @param string $in_rel: relative directory * @param string $out_abs: absolute directory */ define('PATH_MAX', 255); function sub_rel2abs(string $in_rel, s... -
java如何通过绝对路径和相对路径读取文件
2018-05-29 19:24:20当我在写java的数据库连接时,希望通过使用文件的相对路径来读取信息,因为使用绝对路径时在代码移植之后就会出现问题,这不是一个好的方法 0x01 概念 绝对路径:在我们平时使用计算机时要找到需要的文件就必须... -
JavaWeb当中的相对路径与绝对路径
2020-07-09 22:10:28文章目录相对路径绝对路径斜杠的不同意义举三个例子特殊情况(重定向) 在 JavaWeb 中,路径分为相对路径和绝对路径两种: 相对路径 符号 释义 ./ 表示当前目录 …/ 表示上一级目录 某个资源 表示当前目录... -
Spring Boot上传文件设置绝对路径和访问绝对路径下的静态资源
2018-07-03 08:40:491、设置绝对路径 在spring boot项目打成jar包后,上传文件的路径会有问题,或者可以成功上传但是服务器上找不到上传成功的文件。这时候我们需要为上传文件设置绝对路径。 application.properties的配置 #静态资源... -
相对路径和绝对路径详解
2020-07-10 17:18:21绝对路径 例子 给客户端浏览器使用 给服务器使用 相对路径 不以斜杠/开头。以点.开头的路径。比如 ./:当前目录 ../:后退以及目录 既不以/开头,也不以./开头的路径,默认为./开头,比如xxx等价于./... -
Qt 相对路径 绝对路径
2016-08-18 10:47:43绝对路径: app.applicationDirPath() : 这个获取的就是一个绝对路径,是程序运行时的绝对路径,如果是debug模式,绝对路径定位到debug文件 QDir::currentPath();这个获取的是工作目录的绝对路径。在工程中点击... -
linux-文件路径-相对路径-绝对路径
2019-06-23 19:54:36文件的路径 绝对路径,从根目录开始 相对路径,以当前目录开始 明确相对路径与绝对路径的关系 明确。 与 。。 的意义 绝对路径与相对路径的示例: ~ 代表家 切换目录,cd ... -
Linux绝对路径和相对路径
2019-06-21 20:29:58♥️♥️♥️♥️♥️♥️Linux 系统中,文件是存放在目录中的,而目录又...绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。 换句话说,绝对路径必须以一个正斜线... -
绝对路径和相对路径
2018-03-14 17:31:311.绝对路径 绝对路径就是网页上的文件或目录在硬盘上的真正路径,如"D:\HTML5+CSS3\images\logo.gif",网页上不推荐使用绝对路径,因为网页制作完成之后我们需要将所有的文件上传到服务器,这时图像文件... -
相对路径和绝对路径的理解以及android需要绝对路径的原因
2016-04-28 09:47:03要了解怎样运用android的外部存储,首先我们理解一下相对路径和绝对路径 绝对路径:绝对路径是指书写文件的完整路径(比较好理解),如d:\test\java\helloword.java,在该路径下包含文件的完整路径d:\test\java\... -
JSP相对路径和绝对路径
2017-04-23 17:44:29很长一段时间纠结过JSP中的相对路径和绝对路径,也研究过一段时间,今天趁着有点时间,记录下来,也给大家分享一下1 先理解相对路径我的项目结构如下 0 相对路径当前文件所在路径, 在当前文件调用一个jsp页面, ... -
linux相对路径和绝对路径
2018-05-10 11:37:27《开经偈》无上甚深微妙法百千万劫难遭遇我今见闻得受持愿解如来真实义讲解思路:什么是绝对路径什么是相对路径相对路径和绝对路径存在的合理性什么是绝对路径系统中的所有文件路径,构成一棵树。你在查找一个文件的... -
根据相对路径获取绝对路径
2019-04-30 17:16:47在处理文件时,需要先获取文件的路径,这个路径一般取绝对路径,然而,大多时候我们只知道这个文件的相对项目的路径,这时候需要根据文件的相对路径获取绝对路径。 //只能接收相对路径,相对路径字符串最前不可以有... -
路径详解(绝对路径,相对路径,根相对路径)
2019-05-20 09:24:11路径详解(重点) 1、绝对路径 1、什么是绝对路径 文件从最高级目录下开始的完整路径 1、访问网络资源 1、由以下四个部分组成 1、协议名称 ... -
绝对路径和相对路径详解
2012-10-05 17:02:27第一种:C:\ABC\file2 这就是绝对路径,指明file2文件在C盘ABC文件下,从最大的目录C盘开始表示出来. 第二种:file2 这就是相对路径,因为file1文件和file2文件都在C:\ABC下,所以它们的路径前面"C:\ABC"都是一样... -
Linux相对路径与绝对路径
2020-05-31 23:57:23在Linux中,我们经常做切换目录的操作,所以相对路径与绝对路径大家一定要熟练掌握,否则会影响到Linux后面的学习! -
python 处理绝对路径和相对路径
2018-08-17 22:56:48os.path 模块提供了一些函数,返回一个相对路径的绝对路径,以及检查给定的路径是否为绝对路径。 • 调用 os.path.abspath(path)将返回参数的绝对路径的字符串。这是将相对路径转换为绝对路径的简便方法。 • 调用 ... -
绝对路径,相对路径,和根路径
2017-02-20 10:38:47关于链接的路径,网页中的超链接按照链接的路径可以分为绝对路径,相对路径,和根路径。 1.绝对路径 绝对路径为文件提供完全的路径,包括使用的协议(如HTTP,FTP,RTSP等)。一般常见的绝对路径... -
Ubuntu相对路径和绝对路径
2018-05-28 19:51:59ubuntu绝对路径:例如在目录/home/lzj/temp下有一个文件filename.txt那么filename.txt文件的绝对路径就是/home/lzj/tempubuntu相对路径:如果你当前路径是在/home/lzj下,那么filename.txt文件的相对路径就是./temp注...