自定义模块:
def make_pizza(size, *toppings): """概述要制作的比萨""" print("\nMaking a "+str(size) + "-inch pizza with the following toppings:") for topping in toppings: print("- "+topping)
测试代码:
import pizza pizza.make_pizza(16, 'pepperoni') pizza.make_pizza(12, 'mushroom', 'green peppers', 'extra cheese')
两个文件在同一个目录下,但是测试时报错No module named pizza
import os import sys parent_dir_name = os.path.dirname(os.path.realpath(__file__)) sys.path.append(parent_dir_name ) import pizza pizza.make_pizza(16, 'pepperoni') pizza.make_pizza(12, 'mushroom', 'green peppers', 'extra cheese')
你打印一下parent_dir_name 这个的路径,如果是和你导入包的路径就是没有问题了
当前目录下需要加 __init__.py 空文件就行
parent_dir_name打印出来为空。当前目录上有__init__.py 空文件
from pizza import make_pizza呢?
还是不行
这样是没有问题的。你的那个模块定义所在的文件名称必须是要以".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"结尾才可以。
你看我的是没有问题的,我的是以.py结尾的文件,当然也必须是在同一个目录下,而且不能有语法错误,就是要注释掉你那个函数的第一行中文语句。
我去点那个中文也还是不行
pizza.py和test_module.py在同一个目录下啊
@甜甜咿呀咿呀哟: 你可以按照我的写法再试一下。我这边是没有问题的
测试了下是没有问题的,请检查模块名写的对不对
自己弄了python package 需要这样写:from com.cqupt.test import pizza
谢谢大家的解答