Python批量读取XML文件内容截取字符串保存

#coding=utf-8
import os
#其中os.path.splitext()函数将路径拆分为文件名+扩展名
'''def file_name(file_dir):
    L=[]
    for root,dirs,files in os.wait(file_dir):
        for file in files:
            if os.path.splitext(file)[1]=='.xml':
                L.append(os.path.join(root,file))
    return L'''

def listdir(path,list_name):#传入存储的list
    for file in os.listdir(path):
        file_path=os.path.join(path,file)
        if os.path_isdir(file_path):
            listdir(file_path,list_name)
        else:
            list_name.apend(file_path)

def file_name(file_dir):
    LL=[]
    for root,dirs,files in os.walk(file_dir):
        #print(root)#当前目录路径
        #print(dirs)#当路径下所有子目录
        #print(files)#当彰路径下所有非目录子文件
        #Str=root+(" ".join(files))
        LL.append(files)
    return LL

def ReadFile(FileName):
    start_1=len('<?xml version="1.0" encoding="utf-8"?><Key xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ProductKey>')
    end_1=start_1+len('JXCVN-3KYKF-X6PXC-4C6VC-J44C2')
    start_2=end_1+len('</ProductKey><ProductKeyID>')
    end_2=start_2+len('3305789031315')
    with open(FileName,'r+') as file:
        for line in file:
            return (line[start_2:end_2]," ",line[start_1:end_1])
    file.close()

def Write_File(FileName,List_Str):
    with open(FileName,'a+') as fw:
        fw.seek(0)#移动文件指针
        fw.truncate()#清空文件内容
        for ss in List_Str:
            fw.write(ss)
    fw.close()
aa=[]
list_str=[]
aa=file_name('D:\OfflineDPK\\')
for ss in aa:
   Str_a=(" ".join(ss))
   end=0
   start=0
   while(end<len(Str_a)):
       if Str_a[end]!=' ':
           end+=1
       elif(end+len(Str_a[start:])==len(Str_a)):
           list_str.append('D:\OfflineDPK\\'+Str_a[start:])
           end=len(Str_a)
       else:
           #print('D:\OfflineDPK\\'+Str_a[start:end])
           list_str.append('D:\OfflineDPK\\'+Str_a[start:end])
           start=end+1
           end+=1
list_str.append('D:\OfflineDPK\\'+Str_a[start:])
File_Str=[]
for ss in list_str:
    File_Str.append(ReadFile(ss))
openFile=open('d:\\123.txt','a')
for yy in File_Str:
    sss= (" ".join(yy))+"\n"#列表换为字符串
    openFile.write(sss)
    #print(yy)
openFile.close()



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值