标签: python-import

python如何调用从未在代码中定义的类?

我不知道在这里粘贴所有代码是否可行,但我正在查看这个git repo中的代码.

如果你看一下他们做的例子:

ec2 = EC2('access key id', 'secret key')
Run Code Online (Sandbox Code Playgroud)

......但是没有EC2课.但是,看起来libcloud\providers.py有一个dict映射EC2EC2NodeDriver找到的libcloud\drivers\ec2.py.正确的映射是通过计算的get_driver(provider),但该方法似乎不会在任何地方调用.

显然,我是python的新手,但不是编程.我甚至不确定我应该在文档中查找什么来解决这个问题.

python python-import

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

什么是及时导入Python库的最佳方法?

我有一个Python程序,有几个慢进口.我想延迟导入它们直到需要它们为止.例如,如果用户只是试图打印帮助消息,那么导入慢速模块就很愚蠢.最恐怖的方法是什么?

我将添加一个我正在玩的解决方案作为答案.但我知道你们都可以做得更好.

python python-import

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

将python2.5升级到2.7后的ImportError

我刚从2.5升级到python2.7.5,现在我收到此错误.

ImportError: Import by filename is not supported. 在以下代码行:

set = __import__(ground[0], globals(), locals(), ['*'], level=0)
Run Code Online (Sandbox Code Playgroud)

我们不能再打电话__import__了?
在2.7中解决了这个问题?

python python-import

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

python datetime获取对象今天没有属性错误

我有以下2种不同的datetime用法:

date=request.GET.get('date','')
    if date:
        date = datetime.strptime(date, "%m/%d/%Y")
        print date
    else:
        date = datetime.date.today()
Run Code Online (Sandbox Code Playgroud)

看来所需的进口是:

from datetime import datetime
date = datetime.strptime(date, "%m/%d/%Y")
Run Code Online (Sandbox Code Playgroud)

import datetime
date = datetime.date.today()
Run Code Online (Sandbox Code Playgroud)

我不能同时拥有:

from datetime import datetime
import datetime
Run Code Online (Sandbox Code Playgroud)

或一个优先于另一个。

如果我有一个,则会收到错误消息:对象今天没有属性

如何使用这两个日期时间函数?

python python-import python-datetime

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

为什么进口不在这里?

我正在构建numpy,并想知道为什么他们在这里使用了相对导入.为什么他们使用相对进口而不是直接进口,如import fft(比方说).

我认为直接导入会起作用,所以克隆它并将源代码行197更改为

import fft
Run Code Online (Sandbox Code Playgroud)

,但它没有用.它把错误扔了

ImportError:没有名为fft的模块

为什么它找不到fft模块,即使它与numpy __init__.py位于同一个文件夹中 .

所以我模拟了一个类似的环境,看看为什么它不起作用.我在其中创建了模块(mod1)和另一个(mod2).从mod1 __init__.py我导入mod2,最后将包含模块mod1的文件夹添加到python路径.然后编写一个python脚本作为sample.py包含

import mod1 
Run Code Online (Sandbox Code Playgroud)

一切正常,无需相对导入.

但为什么它不在numpy里面工作呢?

注意:我在virtual-env中有numpy.这会造成麻烦吗?

调试更新:

import numpy.fft 
Run Code Online (Sandbox Code Playgroud)

工作.我检查了"__name__",它很笨拙.但为什么"numpy".是必要的,因为它已经在numpy模块??? 更重要的是,因为__name__被设置为numpy,它应该能够找出其中的fft模块.为什么它不起作用的概念...我以前用来模拟的例子是我刚刚使用导入的相同场景mod2尽管mod2在mod1内部,我没有必要导入mod1.mod2

python python-import python-2.7

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

当"z"是Python关键字时,如何"从xyz import a"?

我遇到了一个不幸的情况,其中一个特定文件的文件名是Python中的关键字.有没有办法在没有重命名文件的情况下"绕过"这个?

libraries/import.py 有功能 my_function()

from libraries.import import my_function
Run Code Online (Sandbox Code Playgroud)

得到:

E999 - SyntaxError: invalid syntax 
Run Code Online (Sandbox Code Playgroud)

并指向" .import"部分

我试了几件事:

from "libraries.import" import my_function
from libraries."import" import my_function
from libraries import import.my_function
from repr(libraries.import) import my_function
from `libraries.import` import my_function  # deprecated
import libraries.import.my_function
Run Code Online (Sandbox Code Playgroud)

但它们都有相同的结果:SyntaxError.

也无法在Python手册中找到任何提示 - 但也没有关于使用保留名称的警告:)这可能吗?怎么样?

python python-import python-3.x

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

导入涉及另一个函数python的函数

我在同一个".py"文件中编写两个单独的函数时遇到了一个奇怪的情况.我使用的是python 2.7.12.这是我的代码:

def do_the_job(n, list):
    for i in range(2, n):
        a = list[i - 1]
        b = list[i - 2]
        ap_me = list[i- a] + list[i - b]
        list.append(ap_me)
    return list

def func_two(n, k):
    counter = 0
    list = [1, 1]
    do_the_job(n,list)
    for i in range(n):
        if list[i] >= k:
            counter += 1
    return counter
Run Code Online (Sandbox Code Playgroud)

然后导入,我写入from my_py import func_two控制台.当我写func_two(10,3)它导入do_the_job函数也成功运行.但是,这里有帖子的原因,当我写入do_the_job(7,[1,1])控制台时,它出错了NameError: name 'do_the_job' is not defined.

为什么我可以使用do_the_job函数作为func_two导入函数的一部分func_two …

python python-import python-2.7

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

从python上的文件夹导入所有文件

我有一个包含一些python文件的文件夹:

modules
|--> __init__.py
|--> car.py
|--> plane.py
|--> ship.py
|--> etc...
Run Code Online (Sandbox Code Playgroud)

每个文件都包含以下内容:

car.py

NAME = "car_name"
def mainloop(*args):
    ...
    return whatever
Run Code Online (Sandbox Code Playgroud)

plane.py

NAME = "some_different_name"
def mainloop(*args):
    ...
    return whatever
Run Code Online (Sandbox Code Playgroud)

等等...

我想从我的父目录动态导入它们作为这样的字典:

from modules import modules
print(modules)
{
    "car_name": <function mainloop at ...>,    
    "some_different_name": <function mainloop at ...>,
    etc..
}
Run Code Online (Sandbox Code Playgroud)

我不知道文件夹或文件名上会有多少文件.我该怎么做?

python python-import

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

在python中在循环中导入内容的副作用是什么?

我一直在维护一个项目.我发现有人编写了一个函数,他在for循环中创建了一个import语句

for obj in obj_list:
    from Levenshtein._levenshtein import distance
    if distance(obj.title, "some string") <= 2:
        do something
Run Code Online (Sandbox Code Playgroud)

我假设在for循环中导入一些东西会导致不必要的指令执行.因此,我想重构代码.但要做到这一点,我需要一个基本原理来支持我的假设,即在for循环中导入不是一个好习惯.我的假设是否正确?

python for-loop python-import python-3.x

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

为什么我们需要在python中使用"as"来导入

来自python docs:

 import_stmt:    "import" module ["as" name] ("," module ["as" name] )* 
          | "from" module "import" identifier ["as" name]
            ("," identifier ["as" name] )*
          | "from" module "import" "*" 
 module:         (identifier ".")* identifier
Run Code Online (Sandbox Code Playgroud)

为什么我们需要为库定义别名?

python python-import

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