python导包路径问题,python读取指定路径下的文件

  python导包路径问题,python读取指定路径下的文件

  每次读取或写入文件时,很容易混淆脚本文件的绝对路径和相对路径。下面文章主要介绍python文件读取和包导入的绝对路径和相对路径的相关信息。有需要的可以参考一下。

  00-1010 I文件读取的绝对路径和相对路径II。导入包II的绝对路径和相对路径。使用绝对路径II导入包。使用相对路径III导入包。运行脚本文件目录层级的当前工作路径和绝对路径摘要

  

目录

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

  # @File : platform.py.py

  1,读取文件绝对路径

  用open(r c : \ Users \ cheng jingd \ PycharmProjects \ python project 13 \ testa \ platform \ my processor \ test 2 . txt , r )作为f:

  打印(f.read())

   2,读取文件相对路径

  #读取下一个目录的test2.txt文件

  用open(myprocessor/test2.txt , r )作为f:

  打印(f.read())

  #读取同级目录的test1.txt

  用open(test1.txt , r )作为f:

  打印(f.read())

  #读取上一个目录的test.txt文件

  带开(’./test.txt , r )作为f:

  打印(f.read())

  .意味着进入上一个目录。

  如果你读的是cite_f.py中的test.txt,也就是上下两个目录,只要把路径替换成././test2.txt 。

  

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

  绝对导入格式是导入A.B或从A导入B,相对导入格式是从。导入B或从.a导入B,表示当前模块,代表上层模块,代表上层模块,依此类推。

  导入可以避免硬编码带来的维护问题。例如,如果我们更改了顶层包的名称,那么它的所有子包的导入都将不起作用。但是有相对导入语句的模块不能直接运行,否则会出现异常:

  相对路径操作注意事项:

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

  在绝对导入的情况下,一个模块只能导入它自己的子模块或者它的顶层模块及其子模块。

  如果是相对导入,模块必须有包结构,并且只能导入其顶层模块内部的模块。

  

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

  # @File : platform1.py.py

  从testa . platform . my processor . my processor导入*

  #引用同一级别目录的模块

  从进口*

  #引用下一级目录的模块

  从myprocessor.myprocessor导入*

  #引用上一个目录的模块

  从testa.main导入*

  

2.1 导包以绝对路径导入

  导入myprocessor.py中同级目录的cite_f

  # @File : myprocessor.py.py

  从。引用导入

  前一个目录中的platform1.py调用myprocessor.py

  # @File : platform1.py.py

  从myprocessor.myprocessor导入*

  导入myprocessor.py中父目录的同级目录和platform1.py的cite_f

  # @File : myprocessor.py.py

  从。引用导入

  从.平台1导入*

  上一个目录中的main.py调用myprocessor.py

  # @File : main.py.py

  从testa . platform . my processor . my processor导入*

  参考:python的包相关知识

  模块:一组功能的组合。任何以。py可以称为模块。

  块的组合,py2需要__init__。py,py3没有。

  

2.2 导包以相对路径导入

  脚本所在的目录是当前的工作路径。无论后续调用哪个模块(子目录模块,父目录模块),当前工作路径都不会改变os.getcwd(),而是在哪个模块中写os.path.abspath(__file__)会打印出该模块所在的工作目录。

  # @File : myprocessor.py.py

  导入操作系统

  Print(当前工作路径:,os.getcwd())

  Print(绝对路径:,os.path.abspath(__file__))

  # @File : platform1.py.py

  从myprocessor.myprocessor导入*

  运行脚本platform1.py将显示

  当前工作路径:c : \ users \ pycharmprojects \ python project 13 \ testa \ platform

  绝对路径:c : \ users \ pycharmprojects \ python project 13 \ testa \ platform \ my processor \ my processor . py在脚本中运行示例

  

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

  这就是这篇关于python文件读取和包引导的绝对路径和相对路径的文章。有关python文件读取和包引导的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: