gpt4 book ai didi

Python 名称错误 : global name 'Thread' is not defined

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:54 26 4
gpt4 key购买 nike

我制作了一个名为 thread.py 的文件,如果我想导入它,它不起作用。当我使用像 cheese.py 这样的文件名时,它工作正常

import json
from thread import Thread
class Board:
name = ""
shortcode = ""
threads = []
url = ""
api_url = ""
json = ""

def __init__(self, board, api_url, json):
self.shortcode = board
self.api_url = api_url
self.json = json
self.__getPosts()

def __getPosts(self):
i = 0
for thread in self.json[0]['threads']:
thread = Thread()
self.threads[i] = thread
i+=1

线程.py

class Thread:
def __init__(self):
i = 1

最佳答案

一个名为 thread 的内置模块已经存在。

>>> import thread
>>> thread
<module 'thread' (built-in)>

当您尝试使用 from thread import Thread 进行导入时,它会尝试搜索名为 Thread 的属性,该属性在内置 thread 中不存在。模块。

>>> hasattr(thread, 'Thread')
False

当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它会在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。 .

sys.path从这些位置初始化:

  • 包含输入脚本的目录(或当前目录)。

  • PYTHONPATH (目录名称列表,语法与 shell 变量 PATH 相同)。

  • 安装相关的默认值。

更多here

建议您使用不同于内置模块名称的用户定义模块名称。

关于Python 名称错误 : global name 'Thread' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com