精华内容
下载资源
问答
  • 后来百度到有一种情况是,文件名中有空格就会导入失败,所以就去关注了一下我文件名,发现用事“-”而不是“_”就想着会不会是这个原因,新建了一个文件,文件名中换成了“_”,再导入,果然就成功了..............

    这是从未出现过的情况,文件设为source root也设了,就是不对。

    后来百度到有一种情况是,文件名中有空格就会导入失败,所以就去关注了一下我的文件名,发现用的事“-”而不是“_”就想着会不会是这个原因,新建了一个文件,文件名中换成了“_”,再导入,果然就成功了.............................

    展开全文
  • 假设有如下目录结构:-- dir0| file1.py| file2.py| dir3| file3.py| dir4| file4.pydir0文件夹有file1.py、file2.py两个...导入同级模块python导入同级模块(在同一个文件夹中的py文件)直接导入即可。import xxx...

    假设有如下目录结构:

    -- dir0

    | file1.py

    | file2.py

    | dir3

    | file3.py

    | dir4

    | file4.py

    dir0文件夹下有file1.py、file2.py两个文件和dir3、dir4两个子文件夹,dir3中有file3.py文件,dir4中有file4.py文件。

    导入同级模块

    python导入同级模块(在同一个文件夹中的py文件)直接导入即可。

    import xxx

    如在file1.py中想导入file2.py,注意无需加后缀".py":

    import file2

    使用file2中函数时需加上前缀"file2.",即:

    file2.fuction_name()

    导入下级模块

    导入下级目录模块也很容易,需在下级目录中新建一个空白的init.py文件再导入:

    from dirname import xxx

    如在file1.py中想导入dir3下的file3.py,首先要在dir3中新建一个空白的init.py文件。

    -- dir0

    | file1.py

    | file2.py

    | dir3

    | init.py

    | file3.py

    | dir4

    | file4.py

    再使用如下语句:

    plan A

    from dir3 import file3

    或是

    plan B

    import dir3.file3

    or:

    import dir3.file3 as df3

    但使用第二种方式则下文需要一直带着路径dir3书写,较为累赘,建议可以另起一个别名。

    导入上级模块

    要导入上级目录下模块,可以使用sys.path:

    import sys

    sys.path.append("..")

    import xxx

    如在file4.py中想引入import上级目录下的file1.py:

    import sys

    sys.path.append("..")

    import file1

    sys.path的作用:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块,所以这里是直接把上级目录加到了sys.path里。

    “..”的含义:等同于linux里的‘..’,表示当前工作目录的上级目录。实际上python中的‘.’也和linux中一致,表示当前目录。

    导入隔壁文件夹下的模块

    如在file4.py中想引入import在dir3目录下的file3.py。

    这其实是前面两个操作的组合,其思路本质上是将上级目录加到sys.path里,再按照对下级目录模块的方式导入。

    同样需要被引文件夹也就是dir3下有空的init.py文件。

    -- dir

    | file1.py

    | file2.py

    | dir3

    | init.py

    | file3.py

    | dir4

    | file4.py

    同时也要将上级目录加到sys.path里:

    import sys

    sys.path.append("..")

    from dir3 import file3

    常见错误及import原理:

    在使用直接从上级目录引入模块的操作时:

    from .. import xxx

    经常会报错:

    ValueError: attempted relative import beyond top-level package

    这是由于相对导入时,文件夹实质上充当的是package,也就是包的角色(比如我们常用的numpy、pandas都是包)。如果python解释器没有认同该文件夹是package,那么这就是一个普通的文件夹,无法实现相对导入。

    文件夹作为package需要满足如下两个条件:

    文件夹中必须存在有init.py文件,可以为空。

    不能作为顶层模块来执行该文件夹中的py文件。

    展开全文
  • 我就以为“在mymodule的同级目录下”是就“在mymodule里创建意思”。 </li><li> 其实不是这样,“mymodule同级目录”就是打开自己作业文件夹就一眼能看到mymodule文件夹和main.py文件。错不是文件...
  • 2个模块在同一个包内时(即引入和被引入2个py文件在同一个目录下),直接引入模块名1、引入与被引入模块或包在同一目录下时,直接引入模块名或者包名import modulename.py或者import packagename示例:文件层级:①...

    2个模块在同一个包内时(即引入和被引入的2个py文件在同一个目录下),直接引入模块名

    1、引入与被引入模块或包在同一目录下时,直接引入模块名或者包名import modulename.py或者import packagename

    示例:

    文件层级:

    ①模块print_parameters.py引入parameters.py模块内变量或函数时,

    import parameters #使用时,module_name.variable_name(模块名.变量名)

    from parameters import * #使用时,直接variable_name(变量名)

    from parameters import variable_name #使用时,直接variable_name(变量名或方法)

    如:print(parameters.number+1) #number为parameters.py参数内的变量

    ②模块print_letter.py引入test176包下__init__.py模块内变量或函数时,

    import test176

    from test176 import *

    from test176 import variable_name #使用时,直接variable_name(变量名或方法)

    ③模块print_letter.py引入test176包下letter.py模块内变量或函数时,

    import test176.letter

    from test176.letter import *

    from test176.letter import variable_name #使用时,直接variable_name(变量名或方法)

    ④模块print_word.py引入包test下__init__.py模块内变量或函数时,

    import __init__

    from __init__ import *

    from __init__ import variable_name #使用时,直接variable_name(变量名或方法)

    展开全文
  • Python 怎样导入自己另外的py文件

    万次阅读 多人点赞 2019-08-07 22:58:39
    1.基本格式: from 文件名import 类名 2.举个栗子: ...from PqxMplCanvas import PqxMplCanvas #在同级目录下 3.进阶: 假设有目录如下: ├── sub_ui.py ├── main.py ├── test/ │ ...

    1.基本格式:

    from 文件名 import 类名

    2.举个栗子:

    文件PqxMplCanvas.py定义了名为PqxMplCanvas的类。

    在另外一个文件中引用过来:

    from PqxMplCanvas import PqxMplCanvas  #在同级目录下

    3.进阶:

    假设有目录如下:

    ├── sub_ui.py
    ├── main.py
    ├── test/
    │   └── test1.py
    └── model/
        └── model1.py
    • 同级目录,main.py导入sub_ui.py
    import sub_ui
    或
    from sub_ui import *
    • 子目录,main.py导入model/model1.py
    需要在model/下建立__init__.py空文件,让编译器认为这是一个模块。
        import model.model1
    或
        from model.model1 import *
    • 跨目录,model1.py导入test/test1.py
    需要在test1/下建立__init__.py空文件
     import sys
     sys.path.append("..")
     import test.test1

     import sys
     sys.path.append("..")
     import test.test1 import *

    【Tips】.代表当前目录,..代表上一层目录,...代表上上层目录。

    展开全文
  • python同级目录导入问题

    千次阅读 2018-11-28 17:26:47
    在PyCharm2017中同目录下import其他模块,会出现No model named …报错 方法: ...2,如果导入的目录没有__init__.py文件,pycharm并不能识别其为Python包,也会出现导入出错,这样只需添加一个...
  • pycharm同级目录导入问题

    千次阅读 2019-03-19 09:30:46
    在PyCharm2017中同目录下import其他模块,会出现No model named …报错,但实际可以运行 这是因为PyCharm不会将当前文件目录自动加入...同一目录下在a.py导入b.py import b 或者 from b import 方法/函数 不...
  • 1.要在my_pj中backend\db\sql_api.py导入my_pj中config\settings 代码: import os,sys print(__file__) base_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ...
  • 假设有如下目录结构:-- dir0  | file1.py  | file2.py  | dir3  | file3.py  | dir4  | file4.pydir0文件夹有file1.py、file2.py两个文件和dir3、...1.导入同级模块python导入同级模块(在同一个文件夹中...
  • 假设有如下目录结构:-- dir0  | file1.py  | file2.py ...1.导入同级模块python导入同级模块(在同一个文件夹中的py文件)直接导入即可。import xxx如在file1.py中想导入file2.py,注意无需加后缀".py
  • 假设有如下目录结构: -- dir0  | file1.py  | file2.py  | dir3  | file3.py ...python导入同级模块(在同一个文件夹中的py文件)直接导入即可。 import xxx 如在file1.py中想导入file2.py,注意无需
  • 一、同级目录下的调用文件层次结构--src|--test1.py|--test2.py若在程序test2.py导入模块test1, 则直接使用import test1test1.fun1()#或from test1 import *也可以直接导入指定函数from test1 import fun1fun1()#...
  • .py文件的引用

    2021-04-08 15:52:17
    from PqxMplCanvas import PqxMplCanvas #在同级目录下 3.进阶: 假设有目录如下: ├── sub_ui.py ├── main.py ├── test/ │ └── test1.py └── model/ └── model1.py 同级目录,main.py导入sub...
  • 1. 同级目录下的调用目录结构如下:若在程序test1.py导入模块mod1, 则直接使用2. 调用子目录下的模块目录结构如下:这时,如果想在程序test1.py导入模块mod2.py ,可以在lib件夹中建立空文件__init__.p...
  • 测试的目录如下: root  ├── module_root.py  ├── package_a  │ ├── child  │ │ ├── __init__.py  │ │ └── child_a.py ...# 导入同级目录下的模块 import module_a # module
  • 检查发现在同级目录下,我新创建pulic_function不属于django,app里模块,并且在没有启动django项目条件下,直接运行会报错,因为django并不认识你pulic_function,文件导入自然会报错, 注释掉该部分方法...
  • 2、导入同级目录下的文件,比如在logindev.py导入read_config.py文件 # coding = utf-8 from read_config import ReadConfig import requests import json # 拼接请求参数,获取cookie,作为后续登录使用 3、导入...
  • 一、同级目录下的调用 程序结构如下: – src |-- mod1.py |-- test1.py 若在程序test1.py导入模块mod1, 则直接使用 import mod1 #或 from mod1 import * 二、调用子目录下的模块 程序结构如下: ...
  • 调用同级目录: – src |– mod.py |– test.py 若在程序test.py导入模块...调用上级目录下的文件 目录结构如下: – src |– mod.py |– lib | |– mod2.py |– sub | |– test2.py import sys sys.path.append('
  • 参考了网友的各种方法,始终是无法将其他目录下的dll导出来,一直提示no module named xxx。...1、导入同级目录下的moduleA.py 2、导入config内的need.dll文件 解决方法 1、检查需要导入的包(config)文件
  • 调用同级目录:– src|– mod.py|– test.py若在程序test.py导入模块mod, 则直接使用import mod或from mod import *调用子目录下的模块:– src|– mod.py|– lib| |– mod2.py|– test.pyfrom lib.mod2 import *...
  • 1、同级目录下调用若在程序 testone.py导入模块 testtwo.py , 则直接使用【import testtwo 或 from testtwo import *】2、调用子目录下的模块若在程序 testone.py导入模块 test1_1.py , 则test1文件夹下必须要...
  • 调用同级目录:– src|– mod.py|– test.py若在程序test.py导入模块mod, 则直接使用import mod或from mod import *调用子目录下的模块:– src|– mod.py|– lib| |– mod2.py|– test.pyfrom lib.mod2 import *...
  • 1、同级目录下调用若在程序 testone.py导入模块 testtwo.py , 则直接使用【import testtwo 或 from testtwo import *】2、调用子目录下的模块若在程序 testone.py导入模块 test1_1.py , 则test1文件夹下必须要...
  • 例如,在运行这段代码时 from keras.utils import plot_model plot_model(model, to_file=’images/model_mnist.png’, show_shapes=True...要导入的文件在temp.py的同级的目录images文件夹那么应该保证要导入的文件
  • 1、同级目录下调用 若在程序 testone.py导入模块 testtwo.py , 则直接使用 【import testtwo 或 from testtwo import *】 ...3、调用上级目录下的文件 若在程序 test2_1.py导入模块 test1_1.py 和 testo

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

导入同级目录下的py文件