2013-08-23 132 views
2

我有一个python文件“a.py”,一个名为folder的文件夹,并且在它有“b.py”的文件夹中。从文件夹(Python)导入模块

a.py了代码:

from folder.b import * 
function() 

它说:

NameError: name 'function' is not defined

它被定义。

为什么? 谢谢!

+0

你有'__init __。py'在文件夹中吗? – enginefree

+0

是的,我在文件夹 –

+0

@ Ofek.T中有'__init__'文件。你能显示'b.py'和你的dicrectory结构是什么吗? – alecxe

回答

1

您是否需要使用folder.b?如果不是:您可以将您的文件夹名称folder到系统路径:

import sys 
sys.path.append(your_folder_containing_b.py) 

并更改a.py到:

from b import * 

一个不太直接的方法是改变当前的工作目录folder然后from b import *

import os 
os.chdir(your_folder_containing_b.py) 
1

您可能需要正确定义PYTHONPATH,确保它包含folder的父文件夹。