python文件读取&导包的绝对路径、相对路径

这篇具有很好参考价值的文章主要介绍了python文件读取&导包的绝对路径、相对路径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

😊作者简介:大家好我是hellobigorange,大家可以叫我大橙子
📃个人主页:hellobigorange的个人主页
📰如果觉得博主的文章还不错的话,请👍三连支持一下博主哦🤞
💖本文摘要:本文主要讲述了文件读取的绝对路径和相对路径;导包的绝对路径和相对路径,以及当前工作路径和绝对路径的区别(os.getcwd(),os.pah.abspath(__file__)
python文件读取&导包的绝对路径、相对路径

文件目录层级
python文件读取&导包的绝对路径、相对路径

一、文件读取的绝对路径和相对路径

用相对路径和绝对路径读取上一层目录的文件、下一层目录的文件及读取同层级的文件。

# @File : platform.py.py

"""1、绝对路径读取文件"""

with open(r"C:\Users\chengjingd\PycharmProjects\pythonProject13\testa\platform\myprocessor\test2.txt", 'r') as f:
    print(f.read())
    
    
"""2、相对路径读取文件"""

# 读取下一层目录的test2.txt文件
with open("myprocessor/test2.txt", 'r') as f:
    print(f.read())

# 读取同层目录的test1.txt
with open("test1.txt", 'r') as f:
    print(f.read())

# 读取上一层目录的test.txt文件
with open("../test.txt", 'r') as f:
    print(f.read())

..表示进入上一层目录。
若在cite_f.py里读取 test.txt即上上层目录,只要将路径替换为"../../test2.txt"即可。

二、package的绝对路径及相对路径导入

绝对导入的格式为 import A.Bfrom A import B,相对导入格式为 from . import Bfrom ..A import B.代表当前模块,..代表上层模块,...代表上上层模块,依次类推。

相对导入可以避免硬编码带来的维护问题,例如我们改了某一顶层包的名,那么其子包所有的导入就都不能用了。但是 存在相对导入语句的模块,不能直接运行,否则会有异常:

🙉相对路径运行注意事项:

在没有明确指定包结构的情况下,Python 是根据 __name__ 来决定一个模块在包中的结构的,如果是 __main__ 则它本身是顶层模块,没有包结构,如果是A.B.C 结构,那么顶层模块是 A。基本上遵循这样的原则:

  • 如果是绝对导入,一个模块只能导入自身的子模块或和它的顶层模块同级别的模块及其子模块
  • 如果是相对导入,一个模块必须有包结构且只能导入它的顶层模块内部的模块
    python文件读取&导包的绝对路径、相对路径

2.1 导包以绝对路径导入

# @File : platform1.py.py
from testa.platform.myprocessor.myprocessor import *
# 引用同级目录的模块
from a import *
# 引用下一级目录的模块
from myprocessor.myprocessor import *
# 引用上一级目录的模块
from testa.main import *

2.2 导包以相对路径导入

"""在myprocessor.py内导入同等级目录的cite_f"""
# @File : myprocessor.py.py
from .cite_f import f
"""在上一层目录里的platform1.py调用myprocessor.py"""
# @File : platform1.py.py
from myprocessor.myprocessor import *

"""在myprocessor.py内导入同等级目录的cite_f及上层目录的platform1.py"""
# @File : myprocessor.py.py
from .cite_f import f
from ..platform1 import *
"""在上上一层目录里的main.py调用myprocessor.py"""
# @File : main.py.py
from testa.platform.myprocessor.myprocessor import *

参考引用:python的包相关的知识
模块:一组功能的组合,任何以.py结尾的都可以称作模块
:多个模块的组合,py2要求必须有__init__.py,py3不需要

三、运行脚本的当前工作路径和绝对路径

  • 脚本所在位置的目录为当前工作路径,无论后续调用哪个模块(子目录模块、父目录模块),当前工作路径不会变os.getcwd(),但在哪个模块写os.path.abspath(__file__)就会打印那个模块所在的工作目录。
# @File : myprocessor.py.py
import os
print("当前工作路径:",os.getcwd())
print("绝对路径:",os.path.abspath(__file__))
# @File : platform1.py.py
from myprocessor.myprocessor import *

运行脚本platform1.py会显示

当前工作路径: C:\Users\PycharmProjects\pythonProject13\testa\platform
绝对路径: C:\Users\PycharmProjects\pythonProject13\testa\platform\myprocessor\myprocessor.py
在脚本中运行示例
python文件读取&导包的绝对路径、相对路径文章来源地址https://www.toymoban.com/news/detail-402174.html

到了这里,关于python文件读取&导包的绝对路径、相对路径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础知识:绝对/相对路径等

    由于本人在导入数据时,十分喜欢相对路径(在数据的上一级文件中,新建文件夹保存处理整个代码处理过程),因此,将首先简单介绍下Python中相对/绝对路径的处理。 一个文件的真实位置,根据这个路径层级可以找到这个文件即 绝对路径 。 在Python中使用绝对路径读取文

    2023年04月27日
    浏览(34)
  • VScode中python的相对路径与绝对路径 FileNotFoundError: [Errno 2] No such file or directory

    VScode中,python里的相对路径是相对于当前工作目录来定位的,而当前的工作目录在VScode中下方的终端窗口会有提示: 说明此时的工作目录并非当前python文件所在的目录,而是C:Usersxxxxx(你的用户名)。因此,使用VScode编辑和运行python文件时,如果你给出的相对路径是相对于当

    2024年02月15日
    浏览(32)
  • Linux--绝对路径和相对路径

    1. 绝对路径 从根目录算起的路径叫做绝对路径 例如: /home/python/Desktop /usr/bin 2. 相对路径 从当前目录算起的路径叫做相对路径 例如: ./test/hello ../static/images 3. 绝对路径和相对路径的使用 使用绝对路径切换到桌面 cd /home/python/Desktop 在下载目录以相对路径切换到桌面 cd Downloads

    2024年02月04日
    浏览(35)
  • SpringMVC相对路径和绝对路径

    点击index.jsp页面请求前,地址栏网址为 代码展示

    2024年02月09日
    浏览(28)
  • 【计算机基础】绝对路径和相对路径

    目录 一.绝对路径 二.相对路径 例如 三.举例 绝对路径是指从根目录开始的完整路径,包括所有父目录的路径,直到目标文件或者目录 所在的位置。 全文件名=全路径文件名=绝对路经=完整的路径 例如,在windows系统中,绝对路径通常以盘符(例如C:)开始,而在Unix/Linux系统中

    2023年04月24日
    浏览(70)
  • HTML前端——绝对路径与相对路径(超详细解析)

    实际工作中,通常会创建一个文件夹专门用于存放图像文件,这时在页面中插入图像,就需要采用 路径 的方式来指定图像文件的位置。 要想正确地使用路径,就必须先搞清楚两个概念: 相对路径 与 绝对路径 。 (1)绝对路径以 Web 站点根目录为参考基础的目录路径。之所

    2024年02月07日
    浏览(29)
  • [Bug 记录] Pycharm 无法导入 _C,相对、绝对路径都报错

      在Pychram中调代码的时候,发现有的包必须在python3.8以上版本上才能使用,于是重新配置python3.9的环境。结果出事了,之前还能运行的代码怎么都运行不了,编译的库成功了,就是 from xx import _C 一直报错。最后试出来还有就是相对路径也报错,根据这点发现问题。   首

    2024年02月16日
    浏览(32)
  • Python开发之Python导包的几种方法,自定义包的生成以及导入详解

    Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 下面介绍python的几种导包方式。 1.

    2024年02月08日
    浏览(30)
  • 8.12:如何在Python中获取文件的相对路径?

    在Python中,获取文件的相对路径是非常重要的,因为它可以让代码更加灵活和可维护。相对路径是相对于当前工作目录的路径,用于描述文件或文件夹在当前目录下的位置关系;而绝对路径是从根目录开始的完整路径,用于描述文件或文件夹在文件系统中的位置。在本文中,

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包