导入一个python模块时出现ImportError

2024-10-02 12:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个python包,即package\u demo,它有三个python模块init.py员工.py经理.py。你知道吗

员工.py:-

def topSalary_employee(salary_list):
    return max(salary_list);

def leastSalary_employee(salary_list):
    return min(salary_list);

def avarageSalary_employee(salary_list):
    summation=0;
    for salary in salary_list:
        summation+=salary;
    return summation;

经理.py:-

def topSalary_manager(salary_list):
    return max(salary_list);

def leastSalary_manager(salary_list):
    return min(salary_list);

def avarageSalary_manager(salary_list):
    summation=0;
    for salary in salary_list:
        summation+=salary;
    return summation;

初始化.py:-

from manager import*;
from employee import*;

现在我想访问的所有功能经理.py员工.py进入另一个python模块,即AAA.py公司位于包的外部AAA.py公司你知道吗

AAA.py公司:-

import package_demo

employee_salary_list = [12000,23000,18000,25000,8000,17000];
manager_salary_list = [32000,45000,28000,50000,38000,44000];

print("\t...Manager Salary Details...");
print("Highest salary of Manager : ",package_demo.topSalary_employee(manager_salary_list));
print("Lowest salary of Manager : ",package_demo.leastSalary_manager(manager_salary_list));
print("Average salary of Manager : ",package_demo.avarageSalary_manager(manager_salary_list));

print("\t...Employee Salary Details...");
print("Highest salary of Employee : ",package_demo.topSalary_employee(employee_salary_list));
print("Lowest salary of Employee : ",package_demo.leastSalary_employee(employee_salary_list));
print("Average salary of Employee : ",package_demo.avarageSalary_employee(employee_salary_list));

但当我跑的时候AAA.py公司程序,它会显示一些错误如下

Traceback (most recent call last):
  File "F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\AAA.py", line 1, in <module>
    import package_demo
  File "F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\package_demo\__init__.py", line 1, in <module>
    from manager import*;
ImportError: No module named 'manager'

Tags: ofpyimportpackagereturndemodefemployee
1条回答
网友
1楼 · 发布于 2024-10-02 12:28:43

所有导入都是从启动Python的目录中计算的,所以当初始.py正在尝试导入管理器Python将尝试从当前所在的目录而不是从初始.py居住。你知道吗

要使用相对导入或将导入转换为绝对导入,请执行以下操作:

相对:

from .manager import*;
from .employee import*;

绝对值:

from package_demo.manager import*;
from package_demo.employee import*;

相关问题 更多 >

    热门问题