如何在python中返回,读取多个.xml文件
我正在用Python编写一个脚本,它将遍历一个文件夹和子文件夹,只读取包含100多个文件的XML文件。如果我在函数外部硬编码此代码,它将在temp0中读取所有100个XML文件,但是如果我将此代码放在函数内部并使用return,则函数始终只返回一个1文件,我的意思是它只读取一个文件。有人能解释一下为什么“返回”是这样工作的吗?提前谢谢如何在python中返回,读取多个.xml文件,python,python-3.x,xml,function,return,Python,Python 3.x,Xml,Function,Return,我正在用Python编写一个脚本,它将遍历一个文件夹和子文件夹,只读取包含100多个文件的XML文件。如果我在函数外部硬编码此代码,它将在temp0中读取所有100个XML文件,但是如果我将此代码放在函数内部并使用return,则函数始终只返回一个1文件,我的意思是它只读取一个文件。有人能解释一下为什么“返回”是这样工作的吗?提前谢谢 def raw_input(doc): for root, dirs, packs in doc: for files in packs:
def raw_input(doc):
for root, dirs, packs in doc:
for files in packs:
if files == 'abc.xml':
filename = os.path.join(root, files)
open_file = open(filename, 'r')
perpX_ = open_file.read()
# print(perpX_)
outputX_ = re.compile('<test (.*?)</text>', re.DOTALL | re.IGNORECASE).findall(perpX_)
temp0 = str("|".join(outputX_))
#print(temp0)
return temp0
doc=os.walk('./data/')
raw_input(doc)
temp0 = raw_input(doc)
print(temp0)
def原始输入(doc):
对于根目录、目录、文件包:
对于包中的文件:
如果文件=='abc.xml':
filename=os.path.join(根目录,文件)
open_file=open(文件名'r')
perpX_uu=open_file.read()
#打印(每像素)
outputX_u=re.compile('return
返回函数结果,因此只要到达return
,Python就会退出函数,并将return
旁边表达式的结果作为函数的输出
在for
循环中有return
,这意味着每次迭代都会到达它,但是Python解释器假定temp0
是函数调用的最终结果,所以它退出
您可以在列表中返回多个值,例如:
def原始输入(doc):
结果=[]#这是将汇总输出的地方
对于根目录、目录、文件包:
对于包中的文件:
如果文件=='abc.xml':
filename=os.path.join(根目录,文件)
open_file=open(文件名'r')
perpX_uu=open_file.read()
#打印(每像素)
outputX_u=re.compile('return
返回函数结果,因此只要到达return
,Python就会退出函数,并将return
旁边表达式的结果作为函数的输出
在for
循环中有return
,这意味着每次迭代都会到达它,但是Python解释器假定temp0
是函数调用的最终结果,所以它退出
您可以在列表中返回多个值,例如:
def原始输入(doc):
结果=[]#这是将汇总输出的地方
对于根目录、目录、文件包:
对于包中的文件:
如果文件=='abc.xml':
filename=os.path.join(根目录,文件)
open_file=open(文件名'r')
perpX_uu=open_file.read()
#打印(每像素)
outputX_u=re.compile('此方法不起作用,我不想将读取的文件也放入列表中,它应该是字符串类型。@Darshanmahalinggowda,好的,我会编辑它,以便返回一个str
。@Darshanmahalinggowda,我编辑了第一个返回单个字符串的选项。如果它“不起作用”,然后提供它引发的异常或函数的结果。此方法不起作用,我不想将读取的文件也放入列表中。它应该是字符串类型。@Darshanmahalinggowda,好的,我将对其进行编辑,以便返回一个str
。@Darshanmahalinggowda,我已编辑了返回单个字符串的第一个选项。如果“不工作”,然后提供它引发的异常或函数的结果