相关疑难解决方法(0)

"从xy import z"和"import xyz as z"之间的区别

在您想要将嵌套模块导入命名空间的情况下,我总是这样写:

from concurrent import futures
Run Code Online (Sandbox Code Playgroud)

但是,我最近意识到这也可以使用"as"语法来表达.请参阅以下内容:

import concurrent.futures as futures
Run Code Online (Sandbox Code Playgroud)

这与其他进口看起来更相似的主观优势:

import sys
import os
import concurrent.futures as futures
Run Code Online (Sandbox Code Playgroud)

......具有增加冗长的缺点.

两者之间是否存在功能差异,或者是PEP中的官方首选还是其他?

python python-import

14
推荐指数
1
解决办法
641
查看次数

导入python模块而不运行它

我需要从另一个运行其中的东西的python文件中导入一个函数,但是当我导入函数时,它运行整个代码而不是只导入我想要的函数.反正只有从另一个.py文件导入一个函数而不运行整个代码?

python module function python-import

11
推荐指数
2
解决办法
1万
查看次数

我是否需要将项目目录添加到每个脚本中的系统路径以从另一个目录导入函数?

我正在努力保持数据科学项目组织良好,所以我在我的src目录中创建了一个目录,其中包含utils一个名为的文件helpers.py,其中包含一些将在许多脚本中使用的辅助函数.我应该如何func_namesrc/utils/helpers.py一个完全不同的目录中导入文件的最佳实践是什么,例如src/processing/clean_data.py

我看到了这个问题的答案,我已经实现了一个有效的解决方案,但这感觉很难看:

 sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
Run Code Online (Sandbox Code Playgroud)

我这样做了吗?我是否需要将此添加到每个要导入的脚本中func_name,例如train_model.py

我当前的项目文件夹结构:

myproject
    /notebooks
        notebook.ipynb
    /src
        /processing
            clean_data.py
        /utils
            helpers.py
        /models
            train_model.py
        __init__.py
Run Code Online (Sandbox Code Playgroud)

示例文件:

# clean_data.py

import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
from src.utils.helpers import func_name

func_name()


# helpers.py

def func_name():
    print('I'm a helper function.')
Run Code Online (Sandbox Code Playgroud)

python

10
推荐指数
2
解决办法
2146
查看次数

如何减少python导入模块的时间?

例如:

In [5]: import time
In [6]: def test():
   ...:     t0=time.clock()
   ...:     import pandas as pd
   ...:     import numpy  as np
   ...:     import matplotlib.pyplot as plt
   ...:     t1=time.clock()
   ...:     print t1-t0
   ...:

In [7]: test()
10.8699593575
Run Code Online (Sandbox Code Playgroud)

在我的计算机上,这些语句消耗了超过 10 秒,因此在调试时,使用这些模块运行 python 脚本有点烦人。

有什么好的办法解决吗?

python numpy matplotlib ipython pandas

6
推荐指数
1
解决办法
2731
查看次数

Python tkinter:消息小部件中锚选项的正确值是什么?

我一直在通过http://www.python-course.eu/tkinter_message_widget.php学习 tkinter

当我使用网站上提供的选项添加锚选项时,我不断收到错误消息。有人告诉我 NE 不存在,但在上面的链接中 NE 作为锚选项给出:

NameError: name 'NE' is not defined
Run Code Online (Sandbox Code Playgroud)

这是我的代码。

import tkinter

root = tkinter.Tk()
message = ("Whatever you do will be insignificant,"
"but it is very important that you do it.\n"
"(Mahatma Gandhi)")

msg = tkinter.Message(root,text = message, anchor = NE, aspect = 1000,
                      foreground='red', background='yellow', 
                      highlightcolor='green', highlightthickness=0,
                      borderwidth=500)
#msg.config(bg='lightgreen', font=('times', 24, 'italic'))
msg.pack()
tkinter.mainloop()
Run Code Online (Sandbox Code Playgroud)

编辑:我也尝试在单引号中输入“NE”,但没有奏效。

python user-interface tkinter python-2.7 python-3.x

5
推荐指数
1
解决办法
3万
查看次数

Python:导入 foo.bar as bar 与 from foo import bar

鉴于这foo.bar是一个模块,有什么区别

import foo.bar as bar
Run Code Online (Sandbox Code Playgroud)

from foo import bar
Run Code Online (Sandbox Code Playgroud)

我对模块的延迟导入对此有何影响特别感兴趣。

注意:这不是这个问题的重复。

python python-import

5
推荐指数
1
解决办法
2046
查看次数

python 3 导入所有包与导入一部分

from \xe2\x80\xa6 import我正在阅读 python 3.6与python 3.6 之间的差异import ...。\n经过多次搜索,我找不到我的具体问题的任何答案。

\n\n

看下面的例子:

\n\n
from urllib import request\n\nimport urllib\n
Run Code Online (Sandbox Code Playgroud)\n\n

1)它们相等吗?我认为从英语的基本含义来看,第一个仅导入request,第二个导入其中的所有内容urllib,包括request和许多其他内容。我对吗?

\n\n

2)我1是真的,假设我的python程序仅使用requesturllib使用第一个而不是第二个是否有任何性能优势?

\n

python import python-3.x

4
推荐指数
1
解决办法
979
查看次数

我不理解Python中的'from'

可能重复:
'import module'或'from module
from … importimport'vsimport .

from glob import glob
from os.path import isfile
def countwords(fp):
   with open(fp) as fh:
       return len(fh.read().split())

print "There are" ,sum(map(countwords, filter(isfile, glob("*.txt") ) ) ), "words in the files."
Run Code Online (Sandbox Code Playgroud)

在第一行,为什么不只是简单地导入glob库?

有没有理由在"import glob"前面使用"from glob"?

python glob

2
推荐指数
1
解决办法
3514
查看次数

导入 someModule,而不是 clr.AddReferenceToFile("someModule")?

我是 python 初学者(python 2.7 和 ironpython 2.7)而不是程序员。时不时,我会发现一个像这样开头的代码:

import clr
clr.AddReferenceToFile("nameOfmodule")
from nameOfmodule import someMethod
Run Code Online (Sandbox Code Playgroud)

这有什么意义?我们不能只使用:

from nameOfmodule import someMethod
Run Code Online (Sandbox Code Playgroud)

?

我试过谷歌搜索,但还没有真正理解解释。

感谢您的答复。

编辑:混淆不在“from nameOfmodule import someMethod”和“import nameOfmodule.someMethod”之间。我编辑了代码,现在它更有意义了。

python import clr module python.net

2
推荐指数
1
解决办法
7617
查看次数

从另一个文件导入类是否也会导入该文件的依赖项?

假设我有一个名为 src.py 的脚本,其中定义了几个函数;这些函数都在一个名为 的类中LDAnumpy这些函数需要、等库scipy,这些库在脚本顶部作为标准导入。

现在,在一个名为 的新单独脚本中,main.py我导入该类LDA

from src import LDA
Run Code Online (Sandbox Code Playgroud)

如果我现在在新脚本中使用该类LDA及其所有函数main.py即使我没有导入src.py. 这是如何运作的?我是否应该需要 importnumpyscipy才能main.py工作LDA

python import dependencies

2
推荐指数
1
解决办法
2691
查看次数

导入错误Python:没有名为“ card”的模块

我大部分时间都在尝试解决此问题。所以我想从github导入'deuces'包。但是,我不断收到错误消息:

!python
Run Code Online (Sandbox Code Playgroud)

Python 3.5.2 | Anaconda 4.2.0(64位)| (默认值,2016年7月5日,11:41:13)Win32上的[MSC v.1900 64位(AMD64)]键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。

>>> from deuces import Card
Run Code Online (Sandbox Code Playgroud)

追溯(最近一次通话最近):文件“ C” \ Program Files \ Anaconda3 \ lib \ site-packages \ deuces \ __ init__.py中的文件“”,行1,来自卡导入Card ImportError:否名为“卡”的模块

我一直在尝试使用anaconda并进行pip安装。我不知道自己在做什么错-我还尝试了卸载常规Python并重新安装了蟒蛇。

卡文件位于同一目录中,所以我不确定为什么找不到它。

python python-import

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

对象仅在使用"from"导入时可调用(Python)

在线教程之后,我输入了以下代码:

class Car:
    # define and initialize some attributes of Car object
    def __init__(self):
        self.speed = 0
        self.odometer = 0
        self.time = 0

    # 'get' function for current speed
    def say_state(self):
        print("I'm going {} kph!".format(self.speed))

    # 'set' function for current speed
    def accelerate(self):
        self.speed += 5

    # 'set' function for current speed
    def brake(self):
        self.speed -= 5

    # 'set' function for trip time and distance
    def step(self):
        self.odometer += self.speed
        self.time += 1

    # 'get' function for average speed
    def …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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