精华内容
下载资源
问答
  • python引用其他py文件里的函数方法Python中在脚本中引用其他文件函数的方法在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。...

    python引用其他py文件里的函数方法

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

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法,

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

    import sys

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

    import file

    2. 在文件目录下新建__init__.py文件然后调用文件

    from application.app.folder.file import func_name

    init.py文件

    a).__init__.py文件的作用

    该文件的主要作用使初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示:

    package/

    __init__.py

    file.py

    file2.py

    subpackage/

    __init__.py

    submodule1.py

    submodule2.py

    b). __init__文件可以为空但可以用来建立对包的需求。一般来说会在该文件中写那些类,函数等需要被导入到包水平,从而可以被方便的引用。比如:如果file.py文件中有一个File类,在init.py文件中啥都没写时引用File类需要这样操作:

    from package.file import File

    如果在__init__.py文件中将file导入包,那就在包水平可以直接引用File类:

    # in your __init__.py

    from file import File

    # in your script

    from package import File

    此外,还需要注意的一点是__init__.py文件中的all变量。如果解释器在__init__.py文件中观察到了__all__变量,那么在运行from package import *时就只会引入__all__变量中列出的那些模块。例如:如果想在上述结构的只引入submodule1模块,那么可以在subpackage/__init__.py文件中定义__all__ = ['submodule1'],当引用subpackage时from subpackage import *就只引入了submodule1模块。

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

    export PYTHONPATH=$HOME/pathToYourScripts/:$PYTHONPATH

    对python同一个文件夹里面不同.py文件的交叉引用方法详解

    比如有两个模块,一个aa.py,一个bb.py 代码如下:

    aa.py:

    #encoding:utf-8

    import bb

    a=1

    bb.py:

    #encoding:utf-8

    import aa

    print aa.a

    执行bb.py时,不能执行,打印错误 AttributeError: 'module' object has no attribute 'a'

    原因:

    如果执行bb的话,这时候bb是__main__,不是module,所以会执行到bb的from aa,这个时候python会执行aa.py,而aa.py一开始就是from bb,所以python又会去执行bb.py,因为bb.py的一开始就是from aa,并且因为之前执行过,所以这个时候aa已经在sys.module里面,所以python不会重新执行aa.py,而只是把sys.modules里面的aa返回给你,所以当执行到bb.py的print b 的时候,还没有执行aa.py里面的a=1,所以会有找不到a的attribute error

    解决方案:

    aa.py:

    #encoding:utf-8

    import bb

    a=1

    bb.py:

    #encoding:utf-8

    import aa

    if __name__=="__main__":

    print aa.a

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

    以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

    您可能感兴趣的文章:

    展开全文
  • ​如上图所示,我想在test_1.py文件中import我在lstm_1.py中定义的LstmParam和 LstmNetwork。我直接采用的是最简单的引用方法:from lstm_1 import LstmParam, LstmNetwork,但是很明显报错了,不能直接这样引用。...

    20190731103315448.pngwAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    如上图所示,我想在test_1.py文件中import我在lstm_1.py中定义的LstmParam和 LstmNetwork。我直接采用的是最简单的引用方法:from lstm_1 import LstmParam, LstmNetwork,但是很明显报错了,不能直接这样引用。因为,编译环境无法直接找到。

    当你import的时候,python解释器只会在sys.path这个变量(一个list,你可以print出来看)里面的路径中找可能匹配的package或module。

    而一个package跟一个普通文件夹的区别在于,package的文件夹中多了一个__init__.py文件。换句话说,如果你在某个文件夹中添加了一个__init__.py文件,则python就认为这个文件夹是一个python中的package。

    __init__.py文件的内容可以是空的(package里面必备这个模块,.py的文件就是模块,这个知识点要知道),它只是告诉python当前文件夹是一个python中的package。当然,你可以在这个__init__.py的module里面添加一些代码,这些代码会在import这个package的时候运行,也就是package下__init__.py模块,会在import package后,立刻会从无缩进的地方开始执行代码。

    所以,请确保你要import的py文件所在的目录有__init__.py文件。

    那出现以上问题时我们怎样才能成功引用呢?解决方法就是讲我们需要引用的目标文件放到我们编译环境的site-pakage 包文件里边,然后就可以import了。

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B5XzEyMzQ1Ng==,size_16,color_FFFFFF,t_70wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

    展开全文
  • from abc import xxx 从abc的py文件导入一个具体的函数或者类 import abc 直接导入文件   a、b写在同一个文件目录下,a要使用b,直接import就可以了

    from abc import xxx

    从abc的py文件导入一个具体的函数或者类

    import abc

    直接导入文件

     

    a、b写在同一个文件目录下,a要使用b,直接import就可以了

    展开全文
  • 如下图在test模块中导入args_parse_utils中的函数,在导入模块中加 import sys import os curPath = os.path.abspath(os.path.dirname(__file__)) rootPath = os.path.split(curPath)[0] sys.path.append(rootPath) ...

    方法一:
    如下图在test模块中导入args_parse_utils中的函数,在导入模块中加

    import sys
    import os
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    

    在这里插入图片描述
    方法二:(同文件不同文件都可以)
    将目录设置为root目录;
    在这里插入图片描述
    然后直接

    from file_name import python_model_name
    

    如果 .py 文件中有class

    from file_name import python_model_name.class_name
    
    #class_name.def_name(x)
    

    也可以直接导入函数,使用是直接写函数名

    from file_name import python_model_name.class_name.def_name
    #def_name(x)
    

    总之,只要能导入,想怎么引用都可以,一级一级往下走就行。多个嵌套文件,文件里面有 python模块(.py),模块里面可以直接写函数,也可以先写class,然后再写函数,例如

    from python_model_name import def_name
    
    from file_name.python_model_name import def_name
    

    参考:https://blog.csdn.net/u010013191/article/details/89071785

    展开全文
  • 1、通过标准的Python导入CSV文件Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型。from csv import...
  • 1、导入整个模块中的函数和变量,代码: 》创建模块say_hello.py文件: #file:say_hello.py def say_hi(): print(“hello,I’m ISmileLi!”) name = ‘ISmileLi’ 》使用模块say_hello.py如下: #file:use_...
  • python调用其他文件函数或类

    万次阅读 2018-06-10 14:47:57
    B.py调用A.py的函数或类在同一个文件夹下调用函数:A.py文件:[python] view plain copydef add(x,y): print('和为:%d'%(x+y)) B.py文件:[python] view plain copyimport A A.add(1,2) 或[python] view...
  • python导入自定义函数是from 。...如果已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest...
  • 1、通过标准的Python导入CSV文件Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型。from csv import ...
  • python 调用其他文件函数或类

    千次阅读 2020-03-10 11:29:11
    转载:... 一.调用函数: 同一个目录下A.py B.py C.py三个文件,在A.py和B.py当中调用函数A.py A.py文件: def add(x,y): print('和为:%d'%(x+y)) 运行结果: B.py文件: import A A....
  • python导入自定义函数

    千次阅读 2019-05-17 11:45:12
    有的时候我们需要从别的目录导入一些py文件函数 例如我想导入 D:\\work\\Pywork\\Pycharm\\functions\\function1\\add.py 文件中的add_number函数,方法如下: import sys sys.path.append(r'D:\\work\\Pywork\\...
  • 导入下级目录的文件,需要在文件夹里新建一个空白的__init__.py文件,然后导入 from dir import file 导入上级目录的下一级文件,需要使用sys.path让代码返回到之前的dir. import sys sys.path.append("…") ...
  • 导入CSV文件 from pandas import csv; xz = read_csv('文件地址。如(D://demo.csv)',encoding='...使用read_tablel函数导入 常用命令 用法 startproject 创scrapy startproject 项目名 #read_table(f...
  • Python导入csv数据的三种方法,具体内容如下所示:1、通过标准的Python导入CSV文件Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成...
  • python导入自定义函数方法

    千次阅读 2018-11-05 15:40:22
    Python模块是一个Python文件,以.py结尾,包括了Python对象定义和Python语句,能让Python代码段更有逻辑性、更好用、更易懂,既然Python模块有这么多好处,那么该如何引用Python模块呢?import语句自定义模块可以...
  • python 编程中经常需要调用自己定义的函数,在大型程序中自定义的函数一般会和main函数分开,这么主要讲下在不同文件下定义的函数怎么调用: 首先在有文件夹test_python文件夹下有main.py,以及subfunction子文件,...
  • python导入py文件报错怎么办 |浏览:1705|更新:2015-09-22 07:28|标签:python  1 2 3 4 5 6 分步阅读 python有大量的内置模块,可以方便地导入。同样python也...
  • python导入数据一直是我比较头疼的地方(当然其他方面也一样,只是导入数据后才感到头疼) numpy导入txt txt文件中仅含有一个纯数字矩阵,运行代码,X即该矩阵,其中的数字为float类型。 import numpy as np X =np....
  • jupyter中python导入模块或文件中的函数后,当模块或文件中的函数改变并保存后,再次调用其中的函数时,调用的仍然是原来的函数,因为导入过的模块或函数并没有更新。 解决方法 方法1 对于python3.4+,重新导入模块...
  • python程序的时候很多人习惯创建一个utils.py文件,存放一些经常使用的函数,方便其他文件调用,同时也更好的管理一些通用函数,方便今后使用。或是两个文件之间的class或是函数调用情况。就像下面的工程目录一样...
  • python导入py文件报错

    千次阅读 2016-11-07 10:24:17
    同样python也可以导入其它人写的py程序,以利用别人写好的类和函数。 1、在缺省状态下,导入一个已编写好的py文件用import 跟上py文件名,有时系统会出现SyntaxError: invalid syntax的错误: 2、这种情况...
  • python导入numpy函数

    千次阅读 2019-10-31 22:50:01
    1.安装pip 去网站https://raw.github.com/pypa/pip/master/contrib/get-pip.py 进入页面,...然后打开Scrips文件夹,如果文件夹中有以下这几个安装文件,则说明pip也已经安装好了 在该网站 https://www.lfd.uci....
  • 简单介绍一下导入文件的三种方法: 1、 import 库名 使用方法: 库名.函数名(函数参数) 库名.函数名加起来就是新程序中的函数名,该方法不会出现函数重名的现象 2、from 库名 import 函数名 或者 from 库名 ...
  • python导入其它py文件的方法和类

    万次阅读 2019-08-02 09:46:17
    一、在同一目录下 1、导入自己定义的方法 a.py和b.py在桌面上 在a.py文件中定义如下方法: ...直接导入文件 import a sol(3) 输出结果: runfile('C:/Users/CZPZ/Desktop/untitled0.py', wdir='C:/User...
  • 本文实例讲述了Python使用import导入本地脚本及导入模块的技巧。分享给大家供大家参考,具体如下:导入本地脚本import 如果你要导入Python 脚本与当前脚本位于同一个目录下,只需输入 import,然后是文件名,无需...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,169
精华内容 52,867
关键字:

python导入其他文件函数

python 订阅