读取python中的文件并获取值odoo 9

读取python中的文件并获取值odoo 9,python,odoo,odoo-10,odoo-9,Python,Odoo,Odoo 10,Odoo 9,在下面的示例中,如何获取NUM或CODE lines = filename.split('\n') for line in lines: print("CODE is:" + ???); #CODE is: 1111 #CODE is: 2222 #CODE is: 3333 文件 如何从abowe示例中获取NUM和CODE?这是使用regex的一种方法: import re lines = filename.spli

在下面的示例中,如何获取NUM或CODE

lines = filename.split('\n')
    for line in lines:
        print("CODE is:" + ???);
        #CODE is: 1111
        #CODE is: 2222
        #CODE is: 3333
文件



如何从abowe示例中获取NUM和CODE?

这是使用regex的一种方法:

import re
lines = filename.split('\n')
    for line in lines:
        print('NUM is : {}'.format(''.join(re.findall(r'NUM="(\w+)', line))), end=" ")
        print('CODE is : {}'.format(''.join(re.findall(r'CODE="(\w+)', line))))

'''
NUM is : 1  CODE is : 1111
NUM is : 2  CODE is : 2222
NUM is : 3  CODE is : 3333
'''

您可以使用标准库(Python 2.5+):

其中data.xml包含xml数据

如果数据为字符串,则可以使用字符串解析器:

ET.fromstring('Your XML data')

此解决方案不使用正则表达式,非常紧凑且可读,可用于任何数据类型(例如,“gg.mm.aaaa”格式的日期)。

您似乎拥有XML数据,而不仅仅是文本数据。请为这项工作使用正确的工具。应该使用XML工具来读取和解释XML,而不是像正则表达式或纯文本解析这样的文本工具。即使正则表达式的答案在本例中有效,它也是不对的

XML代表可扩展标记语言。这意味着XML文件内容应该是可扩展的,而不会中断XML文件的处理。如果您使用正则表达式或纯文本硬编码读取,那么当XML更改时,您的集成将中断。只要正确使用xml工具,这就不是问题。当然,你可以相信未来不会有任何改变,但这已经多次被证明是错误的假设

Odoo大量使用XML。Odoo以正确的方式使用XML。使用Odoo编码时,请正确使用XML

在丹尼尔·穆勒的回答中,你可以找到正确的方法。请用它


有关在python中处理xml的更多信息,请查看或在Google中搜索“python xml”。

lxml
beautifulsoup
模块将帮助您实现这一点。Tnx如需帮助,我尝试get DATE=“10.10.2017”时是否有任何解决方案?仅获取数字10如何获取全文-->10.10.2017?请尝试
re.findall(r'DATE=)(\d+\.\d+\.\d+),行)
并让我知道它是否有效。很好,任何我能看到的网页都可以。如果你想深入了解
regex
,我建议从这里开始:愉快的编码!为了一个好的黑色幽默的答案为什么不使用regex For xml/xhtml,请阅读这个stackoverflow答案:.ps。不要把这个评论看得太重。答案是lf是认真的。;-)Tnx需要明确的答案。你有什么好的工具或示例可以满足我的要求吗?如果你有,请放在这里。这个示例非常适合我。将你的xml文档放在文件“data.xml”中。除了Python和导入xml之外,不需要其他工具。快乐编码:-)
import xml.etree.ElementTree as ET

for element in ET.parse('data.xml').getroot():
    print(element.attrib['NUM'], element.attrib['CODE'])
ET.fromstring('Your XML data')