本地自定义模块导入后运行失败,但同文件运行正常的问题求助
本地自定义模块导入后运行失败,但同文件运行正常的问题求助
各位好,我最近在测试自己写的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
相关产品推荐
相关产品推荐

