广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3绝对路径,相对路径
  • 901
分享到

python3绝对路径,相对路径

路径绝对路径 2023-01-30 23:01:23 901人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

from __future__ import absolute_import的作用:  直观地看就是说”加入绝对引入这个新特性”。说到绝对引入,当然就会想到相对引入。那么什么是相对引入呢?比如说,你的包结构是这样的: pkg/ pkg/i

from __future__ import absolute_import的作用: 

直观地看就是说”加入绝对引入这个新特性”。说到绝对引入,当然就会想到相对引入。那么什么是相对引入呢?比如说,你的包结构是这样的:
pkg/
pkg/init.py
pkg/main.py
pkg/string.py

如果你在main.py中写import string,那么在python 2.4或之前, Python会先查找当前目录下有没有string.py, 若找到了,则引入该模块,然后你在main.py中可以直接用string了。如果你是真的想用同目录下的string.py那就好,但是如果你是想用系统自带的标准string.py呢?那其实没有什么好的简洁的方式可以忽略掉同目录的string.py而引入系统自带的标准string.py。这时候你就需要from __future__ import absolute_import了。这样,你就可以用import string来引入系统的标准string.py, 而用from pkg import string来引入当前目录下的string.py了
---------------------
但是经过实验,去掉跟加上from __future__ import absolute_import并没有什么区别,上面说的好像并没有什么卵用:

目录结构:

 

####celery.py

from celery import Celery

app = Celery('proj',
broker='Redis://localhost',
backend='redis://localhost',
include=['my_proj.tasks'])

# Optional configuration, see the application user guide.
app.conf.update(
result_expires=3600,
)

if __name__ == '__main__':
app.start()

 

##tasks.py
#from __future__ import absolute_import, unicode_literals
from .celery import app
@app.task
def showtime():
import datetime
print('show time------')
return datetime.datetime.now()
@app.task
def add(x,y):
print('sum-------- x , y')
return x+y

无论是去掉还是加上都没有任何影响,程序依旧能正常运行,原因分析:

 

我们运行task的时候是在程序的目录外面,也就是my_proj,而非tasks所在的目录,我们导入程序的代码到python解释器环境中运行,而非直接在程序目录运行,所以代码中的celery  python解释器是到python的环境变量中去寻找,最终导入的是python程序目录中的celery而非my_proj程序目录中我们自己写的celery的模块,所以能正常运行。

如果我们直接在my_proj中去运行tasks程序是就会报错:

这是因为程序调用了我们自己写的celery.py模块,而我们自己的模块中没有 celery.Celery,所以就报错了。。。

 

总结:以后我们自己的模块最好不要给系统软件包或模块同名,或则会出现蛋疼的问题,如果实在要同名要注意用绝对路径导入from xxxx.xxx import xxx,不然会出现莫名奇妙的问题,如果直接import xxx,默认会从当前路径导入,当前路径无法找到就会从sys.path中去寻找,如果不能找到我们的程序模块,可以在sys.path中加上我们模块的路径。

 

PyCharm会自动将项目根路径加到sys.path

print(sys.path)

['C:\\Users\\dufeixiang\\PycharmProjects\\celery\\my_proj\\fuck', 'C:\\Users\\dufeixiang\\PycharmProjects\\celery', 'C:\\python\\python36.zip', 'C:\\python\\DLLs', 'C:\\python\\lib', 'C:\\python', 'C:\\python\\lib\\site-packages', 'C:\\python\\lib\\site-packages\\pip-18.0-py3.6.egg', 'C:\\python\\lib\\site-packages\\win32', 'C:\\python\\lib\\site-packages\\win32\\lib', 'C:\\python\\lib\\site-packages\\Pythonwin']

python中当前执行模块所在目录会自动加入到os.path,所以我们导入模块时会默认先到当前目录寻找

['/root/test/celery/my_proj', '/usr/lib64/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib/python3.4/site-packages', '/usr/lib/python3.4/site-packages/setuptools-40.6.3-py3.4.egg', '/usr/lib/python3.4/site-packages/pip-18.1-py3.4.egg']

 

--结束END--

本文标题: python3绝对路径,相对路径

本文链接: https://www.lsjlt.com/news/180681.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python3绝对路径,相对路径
    from __future__ import absolute_import的作用:  直观地看就是说”加入绝对引入这个新特性”。说到绝对引入,当然就会想到相对引入。那么什么是相对引入呢比如说,你的包结构是这样的: pkg/ pkg/in...
    99+
    2023-01-30
    路径 绝对路径
  • Java getAbsolutePath()获取绝对路径和相对路径
    Java中的File类的getAbsolutePath()方法用于获取文件的绝对路径。该方法返回一个字符串,表示文件的绝对路径。绝对...
    99+
    2023-09-23
    java
  • Linux 相对路径和绝对路径的使用
    01. 概述 绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。 02. 绝对路径(Absolute Pathname) 绝对路径必定由****开头 相对路径是相...
    99+
    2022-06-04
    Linux 相对路径 绝对路径 Linux 相对路径 Linux 绝对路径
  • windows绝对路径和相对路径如何写
    今天小编给大家分享一下windows绝对路径和相对路径如何写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。绝对路径和相对路径...
    99+
    2023-07-02
  • Java中怎么获取路径的绝对路径和相对路径
    今天小编给大家分享一下Java中怎么获取路径的绝对路径和相对路径的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:在纯 J...
    99+
    2023-06-29
  • 怎么引用html绝对路径与相对路径
    本篇内容介绍了“怎么引用html绝对路径与相对路径”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、..\...
    99+
    2022-10-19
  • HTML 绝对路径与相对路径概念详细
    路径指文件存放的位置,在网页中利用路径可以引用文件,插入图像、视频等。表示路径的方法有两种:相对路径,绝对路径。以下讨论均是在HTML环境下进行。 相对路径 相对路径是指目标相对于当...
    99+
    2022-11-12
  • linux绝对路径和相对路径有什么区别
    Linux的路径分为绝对路径和相对路径。绝对路径是从根目录(/)开始的完整路径,它指定了一个文件或目录在文件系统中的确切位置。例如,...
    99+
    2023-10-11
    linux
  • php怎么将相对路径转换为绝对路径
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑php怎么将相对路径转换为绝对路径realpath() 函数返回绝对路径。该函数删除所有符号连接(比如 '/./', '/../' 以及...
    99+
    2017-10-08
    php
  • Python中怎么获取相对路径和绝对路径
    Python中怎么获取相对路径和绝对路径,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python是一门跨平台的语言,但并不是说你用Python随便写的一个程序就能在不同的...
    99+
    2023-06-17
  • Python相对路径和绝对路径及写法演示
    目录Python 相对路径和绝对路径1. 查看自己的当前所处文件夹的绝对路径:2.设置当前工作目录:3. 获取当前工作目录:补充:Python 相对路径、绝对路径的写法实例演示绝对路...
    99+
    2023-02-10
    Python 相对路径绝对路径 Python 绝对路径 Python 绝对路径写法 Python 相对路径写法
  • python读取相对路径和绝对路径的方法
    目录一、简介二、绝对路径 三、相对路径一、简介 下面的路径介绍针对windows,在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式。 我们常用’/...
    99+
    2023-02-10
    python读取相对路径和绝对路径 python读取相对路径 python读取绝对路径
  • php如何将相对路径转换为绝对路径
    这篇文章主要讲解了“php如何将相对路径转换为绝对路径”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何将相对路径转换为绝对路径”吧!在PHP中,可以利用realpath()函数将相对...
    99+
    2023-06-30
  • C#相对路径绝对路径的问题怎么解决
    这篇文章主要介绍“C#相对路径绝对路径的问题怎么解决”,在日常操作中,相信很多人在C#相对路径绝对路径的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#相对路径绝对路径的问题怎么解决”的疑惑有所...
    99+
    2023-06-18
  • html怎么把图片绝对路径改为相对路径
    本篇内容介绍了“html怎么把图片绝对路径改为相对路径”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!好程序...
    99+
    2022-10-19
  • HTML中相对路径和绝对路径有什么区别
    这篇文章主要讲解了“HTML中相对路径和绝对路径有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML中相对路径和绝对路径有什么区别”吧!   ...
    99+
    2022-10-19
  • Linux绝对路径与相对路径的概念是什么
    本篇内容介绍了“Linux绝对路径与相对路径的概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-02-01
    linux
  • 怎么在python将相对路径转换为绝对路径
    今天就跟大家聊聊有关怎么在python将相对路径转换为绝对路径,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,P...
    99+
    2023-06-14
  • 如何在python中处理绝对路径和相对路径
    如何在python中处理绝对路径和相对路径?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python有哪些常用库python常用的库:1.requesuts;2.scrapy;...
    99+
    2023-06-14
  • linux绝对路径和相对路径的区别有哪些
    小编给大家分享一下linux绝对路径和相对路径的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在linux中绝对路径与相对路径的区别是:绝对路径是从li...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作