-1

需要帮助来读取平面文件并转换为以下格式。

输入平面文件 - commands.txt

login to url as http://demo.url.net username as test@url.net and password as mytester create-the-folder with name fdemo 
share-the-folder to username user2@url.net 
logout

login to url as http://demo.url.net username as user2@url.net and password as mytester123 check-the-folder with name demo 
logout

替换模式后的预期格式 - ['as','to','and','with]。"as" 应该替换为 "="

login url=http://demo.url.net username=test@url.net password=mytester
create-the-folder name=fdemo
share-the-folder username=user2@url.net
logout

login url=http://demo.url.net username=user2@url.net password=mytester123
check-the-folder name=demo
logout

请帮助我得到结果。

谢谢,

4

1 回答 1

0

我已经尝试了以下代码并且能够达到我的预期结果。

def formater():
    mydict=defaultdict(dict)
    mylist=[]
    with open('dict-values.txt','r') as f:
        for line in f:
            mylist.append(line.strip())

        for item in mylist:
            key,value =item.split(':')
            mydict[key]=value
    return mydict

def parseText1(text):
    text_patterns=formater()
    for key,value in text_patterns.iteritems():
        pattern=re.compile(key)
        if pattern.findall(text):
            text=re.sub(key,value,text)
            text=re.sub('='+'\s','=',text)          
    return text

result = defaultdict(dict)
item = count()
list_out=[]
with open(os.path.abspath('catalog/commands1.txt'),'r') as fread:
    for line in fread:
        if not line:
            continue
        parts=parseText1(line)
        list_out.append(parts.rstrip())
        #list_out.append(parts.split())

print "AFTER - " + str(list_out)
于 2013-11-07T09:17:19.673 回答