相关疑难解决方法(0)

从不同的文件夹导入文件

我有以下文件夹结构.

application/app/folder/file.py

我想从另一个驻留的Python文件中的file.py中导入一些函数

application/app2/some_folder/some_file.py

我试过了

from application.app.folder.file import func_name

和其他一些尝试,但到目前为止我无法正确导入.我怎样才能做到这一点?

python python-import importerror

1186
推荐指数
28
解决办法
121万
查看次数

没有定义给出NameError:name'reload'的重新加载模块

我正在尝试重新加载我已经在Python 3中导入的模块.我知道你只需要导入一次并import再次执行命令就不会做任何事情.

执行reload(foo)是给出这个错误:

Traceback (most recent call last):
    File "(stdin)", line 1, in (module)
    ...
NameError: name 'reload' is not defined
Run Code Online (Sandbox Code Playgroud)

错误是什么意思?

python python-3.x

154
推荐指数
6
解决办法
12万
查看次数

`import module`比`from module import function`更好的编码风格?

我们from module import function称之为FMIF编码风格.

我们import module称之为IM编码风格.

我们from package import module称之为FPIM编码风格.

为什么IM + FPIM被认为是比FMIF更好的编码风格?(请参阅此帖子以获取此问题的灵感.)

以下是一些让我更喜欢FMIF而非IM的标准:

  1. 代码简短:它允许我使用更短的函数名称,从而有助于坚持80行每行约定.
  2. 可读性:chisquare(...)看起来比可读性更强 scipy.stats.stats.chisquare(...).虽然这是一个主观标准,但我认为大多数人会同意.
  3. 缓解重定向:如果我使用FMIF出于某种原因,在一段时间后要重定向蟒蛇定义functionalt_module不是module我需要改变只有一条线路:from alt_module import function.如果我使用IM,我需要更改许多行代码.
我意识到FPIM在某种程度上取消了前两个问题,但是第三个呢?

我对IM + FPIM可能比FMIF更好的所有原因感兴趣,但特别是,我有兴趣详细说明这里提到的以下几点:

IM的优点:

  1. 易于模拟/注入测试.(我对嘲笑并不是很熟悉,虽然我最近了解了这个术语的含义.你能展示一下代码,它展示了IM在这里比FMIF更好吗?)
  2. 通过重新定义某些条目来灵活更改模块的能力.(我一定是误解了一些东西,因为这似乎是FMIF相对于IM的优势.请参阅我上面支持FMIF的第三个理由.)
  3. 序列化和恢复数据的可预测和可控行为.(我真的不明白IM或FMIF的选择如何影响这个问题.请详细说明.)
  4. 我理解FMIF"污染了我的命名空间",但除了是一个消极的说法之外,我不理解这会如何以任何具体的方式伤害代码.
PS.在写这个问题的时候,我收到一个警告,说这个问题似乎是主观的,可能会被关闭.请不要关闭它.我不是在寻找主观意见,而是寻找具体的编码情况,其中IM + FPIM明显优于FMIF.

非常感谢.

python python-import

67
推荐指数
4
解决办法
3974
查看次数

Python:如何重新加载已导入*的模块

我知道如果我按名称导入模块import(moduleName),那么我可以重新加载它reload(moduleName)

但是,我正在用Kleene星导入一堆模块:

from proj import *
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何重新加载它们?

python

7
推荐指数
1
解决办法
1321
查看次数

标签 统计

python ×4

python-import ×2

importerror ×1

python-3.x ×1