1、获取工程所在根路径:根路径=os.path.dirname(os.path.abspath('__file__'))
2、将获取的根路径和相对路径组合:组合路径=os.path.join(根路径,相对路径)
3、规范化组合路径:os.path.normpath(组合路径)
通过以上三步骤就可以完全解决文件定位问题;
例子:
def edit_xmlfile(self,filepath,filename,flag,newvalue):
print u'--------------即将编辑xml文件--------------'
print u'输入参数为:',filepath,filename,flag,newvalue
filepathandfile=filepath+filename
print 'filepathandfile=',filepathandfile
#本地编辑文件
print 'projectrootpath=',os.path.dirname(os.path.abspath('__file__')) #工程(而非文件)所在根路径,精确到ZXJF/
joinpath=os.path.join(os.path.dirname(os.path.abspath('__file__')),filepathandfile)
normalpath=os.path.normpath(joinpath)
print 'normalpath=',normalpath
tree =parse(normalpath)
root = tree.getroot()
if flag=='filecoreconfigfile':
print u'即将修改的内容为:',root.getchildren()[2].getchildren()[1].attrib
hour,min,sec=newvalue.split('|')
day=self.today[-2:]
updatevalue=str(sec+' '+min+' '+hour+' '+day+' '+'* ?')
print 'updatevalue=',updatevalue
root.getchildren()[2].getchildren()[1].set('value',updatevalue)
tree.write(normalpath)
print u'>>>>>done!太棒了!修改后的内容为:',root.getchildren()[2].getchildren()[1].attrib
print u'----------完成xml文件的编辑-----------'