python引用其他文件的方法,python调用其他py文件

  python引用其他文件的方法,python调用其他py文件

  Python引用其他py文件中的函数方法

  在Python脚本中引用其他文件函数的方法

  导入文件时,Python只搜索当前脚本所在的目录,加载(入口点)入口脚本运行目录和sys.path中包含的路径如包的安装地址。因此,如果要引用当前脚本中的其他文件,除了将文件放在与脚本相同的目录中之外,还有几种方法。

  1.将文件的位置添加到sys.path中

  导入系统

  sys.path.insert(0,/path/to/application/app/folder )#或sys . path . append(/path/to/application/app/folder )

  导入文件

  2.创建新的__init__。py文件并调用该文件。

  从应用程序.应用程序.文件夹.文件导入func_name

  Init.py文件

  a)的作用。_ _ init _ _。py文件

  这个文件的主要功能是初始化Python包。如果文件包含在下面的目录中,Python解释器会把这个目录当作一个包,下一步就是使用import语句来引用其他目录中的文件。py脚本标准Python模块的结构如下:

  包装/

  __init__。巴拉圭

  file.py

  文件2.py

  子包/

  __init__。巴拉圭

  子模块1.py

  子模块2.py

  b)。__init__文件可以为空,但可用于建立对包的要求。一般来说,那些类,函数等。写在这个文件中的需要被导入到包级中,这样它们就可以很容易地被引用。例如,如果File.py文件中有一个File类,则在init.py文件中没有写入任何内容时,需要引用File类:

  从package.file导入文件

  如果文件被导入到包中的__init__。py文件,可以在包级别直接引用文件类:

  #在您的__init__中。巴拉圭

  从文件导入文件

  #在你的剧本里

  从包导入文件

  另外,需要注意的一点是__init__中的all变量。py文件。如果解释器观察到__init__中的__all__变量。py文件,当从package import *运行时,将只引入__all__变量中列出的那些模块。例如,如果你想在上面的结构中只引入submodule1模块,你可以在子包/__init__中定义__all__=[submodule1]。py文件,而在引用子包时,只有submodule1模块会从子包导入*中引入。

  3.将文件所在的目录添加到python的环境变量中。

  导出python path=$ HOME/pathtoyurscripts/:$ python path

  不同的交叉引用方法的详细说明。python的同一个文件夹中的py文件

  例如,有两个模块,aa.py和bb.py代码如下:

  aa.py:

  #编码:utf-8

  导入bb

  a=1

  bb.py:

  #编码:utf-8

  导入aa

  打印aa.a

  bb.py执行时无法执行,打印错误为AttributeError: module 对象没有属性 a

  原因:

  如果执行bb,那么bb是__main__,不是module,所以会从aa执行到bb。这个时候python会执行aa.py,aa.py开头来自bb,所以python会再次执行bb.py,因为bb.py开头来自aa,又因为之前已经执行过,所以这个时候aa已经在sys.module里了,所以python不会重新执行aa.py,只是把sys.modules里的aa返回给你。所以打印B到bb.py时,aa.py中的a=1还没有执行,所以会出现找不到A的属性错误。

  解决方案:

  aa.py:

  #编码:utf-8

  导入bb

  a=1

  bb.py:

  #编码:utf-8

  导入aa

  if __name__==__main__ :

  打印aa.a

  以上详细解释了不同的交叉引用方法。python同一个文件夹里的py文件就是边肖分享的全部内容。希望能给大家一个参考,也希望大家多多支持码农之家。

  以上就是我这次给大家分享的关于java的所有知识点的总结。你也可以在下面的相关文章中找到相关文章进行进一步的研究。感谢您的阅读和支持。

  您可能感兴趣的文章:

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

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