我是新手。
问题陈述:
在目录sfdc_bulk我有2个文件 1)helper.py 2)sfdclogin.py
helper.py
import xml.dom.minidom as DOM
def getElemVal(xmlString,elemName):
#tree = ET.parse('test.xml')
#print tree
dom = DOM.parseString(xmlString)
val=dom.getElementsByTagName(elemName)
ret=None
if len(val) >0 :
ret=val[0].toxml()
#.replace('<' + ret + '>', '').replace('</' + ret + '>', '')
ret=ret.replace('<' +elemName+ '>','').replace('</' + elemName + '>', '')
return ret
sfdclogin.py
from helper import getElemVal
print getElemVal('<?xml version="1.0" encoding="UTF-8"?><foo>bar</foo>', 'foo')
在目录sfdc_bulk中 使用ubuntu终端:
python sfdclogin.py
它返回栏
但是在将sfdclogin文件修改为
之后from sfdc_bulk.helper import getElemVal
print getElemVal('<?xml version="1.0" encoding="UTF-8"?><foo>bar</foo>', 'foo')
我收到了以下错误:
Traceback (most recent call last):
File "sfdclogin.py", line 2, in <module>
from sfdc_bulk.helper import getElemVal
ImportError: No module named sfdc_bulk.helper
答案 0 :(得分:3)
如果两个文件都在同一目录中,请直接导入。你的第一次尝试:
from helper import getElemVal
已经是正确的了。为什么改变它?
除非您想将sfdc_bulk
视为一个包。将其包含在PYTHONPATH
中。在Windows中它就像:
$ set PYTHONPATH=%PYTHONPATH%;C:\your\directory\sfdc_bulk
要在Ubuntu中使用,请查看this answer。