- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
以下代码:
def _IMPORT_(path)
path = abspath(path)
namespace = path[len(getcwd())+1:].replace('/', '_').strip('\\/;,. ')
print(path)
print(namespace)
loader = importlib.machinery.SourceFileLoader(namespace, path+'.py')
handle = loader.load_module(namespace)
print(handle)
importlib.reload(handle)
return handle
产生:
/home/torxed/git/test/unitest/unix
unitest_unix
<module 'unitest_unix' from '/home/torxed/git/test/unitest/unix.py'>
Traceback (most recent call last):
File "network.py", line 17, in <module>
handle = sock()
File "network.py", line 9, in __init__
sock = _IMPORT_('./unix')
File "/home/torxed/git/test/unitest/helpers.py", line 13, in _IMPORT_
imp.reload(handle)
File "/usr/lib/python3.4/imp.py", line 315, in reload
return importlib.reload(module)
File "/usr/lib/python3.4/importlib/__init__.py", line 149, in reload
methods.exec(module)
File "<frozen importlib._bootstrap>", line 1134, in exec
AttributeError: 'NoneType' object has no attribute 'name'
这在引入此类操作的 Python 3.3.5 中完美运行(在此之前有一些类似的导入机制)。但是在 Python 3.4.2 上这显然不起作用。
自 3.3.5 以来发生了什么变化?找不到它的任何痕迹,或者更改是在版本中间的某个地方。去年有一个针对这种确切行为的补丁,其中环境变量没有传递下来,但似乎在这里起作用。
最佳答案
当我尝试在切换文件夹后重新加载文件时遇到同样的错误。
例如:
创建一个简单的模块:
In [10]: %%file temp.py
...: message = "Hello World!"
...:
Writing temp.py
加载模块并打印一条消息:
In [14]: import temp
...: print(temp.message)
Hello World!
更改消息:
In [17]: temp.message = 'Hello brave new world!'
...: print(temp.message)
Hello brave new world!
重新加载模块以取回原始消息:
In [18]: import imp
...: imp.reload(temp)
...: print(temp.message)
Hello World!
到目前为止一切都很好......
现在改变路径:
In [20]: cd ..
尝试重新加载模块:
In [24]: imp.reload(temp)
Traceback (most recent call last):
File "<ipython-input-24-7fa95de0f250>", line 1, in <module>
imp.reload(temp)
File "/home/user/anaconda3/lib/python3.4/imp.py", line 315, in reload
return importlib.reload(module)
File "/home/user/anaconda3/lib/python3.4/importlib/__init__.py", line 149, in reload
methods.exec(module)
File "<frozen importlib._bootstrap>", line 1134, in exec
AttributeError: 'NoneType' object has no attribute 'name'
就我而言,解决方案是切换回最初进行导入的路径。
关于python - imp.reload - NoneType 对象没有属性 'name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27272574/
我目前正在尝试定义函数,但遇到了这个错误。我只是想做一个简单的函数,用户输入 2 个数字,然后将它们相乘。也请尽可能简单地解释我做错了什么。 (我是菜鸟) def userinput(): w
使用IPtools python 包我试图查看 IP 地址是否在特定范围内。这是我的代码: for line in g: org= line.split("|")[0] ranges
输入 [['1','2','3'],['a','b','c'],['6','7','8'],['e','f','g']] 输出应该是: 1, 2, 3a, b, c6, 7, 8e, f, g Cod
我目前正在使用 lambda 使 tkinter 按钮依次执行两件事: def classManip(): cManip = tk.Toplevel() cManip.title
我正在学习Python,作为练习,我编写了一些代码来查找用户定义函数的导数。代码如下。 def fx(value, function): x = value return eval(f
使用 Django。我有以下模型: class Postagem(models.Model): id = models.AutoField(primary_key=True, editable=Fal
我正在尝试为给定的数据集选择重要的特征(或者至少了解哪些特征解释更多的变异性)。为此,我使用 ExtraTreesClassifier 和 GradientBoostingRegressor - 然后
刚刚获得了SDXL模型的访问权限,希望为即将发布的版本进行测试...不幸的是,我们当前用于我们服务的代码似乎不能与稳定ai/稳定-扩散-xl-base-0.9一起工作,我不完全确定SDXL有什么不同,
通常,当我尝试使用BeautifulSoup解析网页时,BeautifulSoup函数会得到NONE结果,否则就会引发AttributeError。。以下是一些独立的(即,由于数据是硬编码的,不需要访
通常,当我尝试使用BeautifulSoup解析网页时,BeautifulSoup函数会得到NONE结果,否则就会引发AttributeError。。以下是一些独立的(即,由于数据是硬编码的,不需要访
我想遍历可迭代列表,但要求某些元素的类型可以是 None。 这看起来像这样: none_list = [None, [0, 1]] for x, y in none_list: print("
我得到object is not subscriptable在非空查询结果上。当我打印时 c.fetchone()它打印了正确的结果,但是当我检查类型时它显示 import sqlite3 conn
我在第 15 行收到此错误,但我不明白为什么。有任何想法吗?看来属性已经明确定义了,所以我完全不知所措。任何帮助将非常感激。AttributeError:“NoneType”对象没有属性“Sheets
我尝试对 Chrome WebDriver 进行子类化以包含一些初始化和清理代码,但随后 Python 提示创建的对象设置为 None: import glob import selenium imp
这个问题已经有答案了: Why do I get AttributeError: 'NoneType' object has no attribute 'something'? (10 个回答) 已关
这个问题已经有答案了: Why does the print function return None? (1 个回答) 已关闭 6 年前。 我对 Python 还很陌生。我正在制作一个生成器,可以为
我正在尝试比较两个表( table_a 和 table_b )并减去 table_a 的最后一列从table_b的最后一列开始。但是,table_a 包含一个额外的行,导致我得到 NoneType错误
当“文件名”是一个存在的文件时,这段代码运行良好……但是当它不存在时……我不断收到同样的错误:TypeError: 'NoneType' 对象不可迭代 (Errno 2) 尽管我从不迭代任何东西,除非
我在下面的代码中收到“NoneType”对象不可迭代的 TypeError。下面的代码用于使用 pyautogui 滚动 digits 文件夹中的 10 张图像(命名为 0 到 9,以图像中的 # 命
我有一段代码表现得很奇怪。 一开始,我导入了一个模块,它是 C 库的 python 绑定(bind)。 try: import pyccn except: print "ERROR:
我是一名优秀的程序员,十分优秀!