You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地自定义模块导入后运行失败,但同文件运行正常的问题求助

本地自定义模块导入后运行失败,但同文件运行正常的问题求助

各位好,我最近在测试自己写的Python模块,碰到了一个头疼的问题:当我把类的定义和实例化、方法调用的代码放在同一个.py文件里时,运行完全没问题;但我把类的定义单独放到本地模块Admin.py里,然后从另一个文件导入使用时,就一直报错。

先给大家看我的Admin.py模块代码:

class User:
    def __init__(self, name, last, age, nationality):
        self.name = name
        self.last = last
        self.age = age
        self.nationality = nationality
        
    def describe_user(self):
        print(f"\nAdmin name is {self.name.title()}, last name is {self.last.title()}, age is {self.age} and is of {self.nationality.title()} nationality\n")
        
    def greet_user(self):
        print(f"\nHello! {self.name.title()}, welcome to the XYZ Consultancy Services Ltd.\n")
        
class Privileges:
    def __init__(self, privileges):
        self.privileges = privileges

    def show_privileges(self):
        # 原代码写到一半,我先补了常规逻辑,同文件测试时是正常的
        print("当前拥有的权限:")
        for priv in self.privileges:
            print(f"- {priv}")

我在另一个测试文件里的代码是这样的:

from Admin import User, Privileges

# 创建User实例并调用方法
test_user = User("alice", "smith", 28, "canadian")
test_user.describe_user()
test_user.greet_user()

# 创建Privileges实例
test_privs = Privileges(["创建用户", "删除用户", "修改配置"])
test_privs.show_privileges()

但运行这个测试文件时,就会报错(比如提示找不到模块,或者类的属性不存在之类的),可我把这些代码全放到Admin.py里直接运行,却完全没问题。

有没有朋友能帮我分析下可能的原因?是不是模块的路径有问题?还是我在类的定义里有什么没注意到的细节?

备注:内容来源于stack exchange,提问作者Wyatt_Earp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:58:09