代码拉取完成,页面将自动刷新
from xml.etree.ElementTree import *
class Musescore:
def __init__(self, type1=""):
if type1 == "":
self.type = "Load"
else:
self.type = type1
self.file = ""
self.tree = ""
self.xmlRoot = ""
self.head = []
self.body = []
self.data = [self.head, self.body]
self.musescoreV = ""
self.musescore_programVersion = ""
self.musescore_programRevision = ""
self.musescore_scoreTag = []
self.musescore_scoreLayerTag = {}
self.musescore_scoreCurrentLayer = 0
self.musescore_scoreDivision = 480
self.musescore_scoreStyle = []
self.musescore_scorePageWidth = 33.1098
self.musescore_scorePageHeight = 46.8098
self.musescore_scorePagePrintableWidth = 31.9264
self.musescore_scorePageEvenLeftMargin = 0.592913
self.musescore_scoreEnableVerticalSpread = 1
self.musescore_scoreSpatium = 1.75
self.musescore_scoreShowInvisible = 1
self.musescore_scoreShowUnprintable = 1
self.musescore_scoreShowFrames = 1
self.musescore_scoreShowMargins = 0
self.arranger = [{'name': 'arranger'}, None]
self.composer = [{'name': 'composer'}, None]
self.copyright = [{'name': 'copyright'}, None]
self.creationDate = [{'name': 'creationDate'}, None]
self.lyricist = [{'name': 'lyricist'}, None]
self.movementNumber = [{'name': 'movementNumber'}, None]
self.movementTitle = [{'name': 'movementTitle'}, None]
self.platform = [{'name': 'platform'}, None]
self.poet = [{'name': 'poet'}, None]
self.source = [{'name': 'source'}, None]
self.translator = [{'name': 'translator'}, None]
self.workNumber = [{'name': 'workNumber'}, None]
self.workTitle = [{'name': 'workTitle'}, None]
self.originalFormat = [{'name': 'originalFormat'}, None]
def load(self, file):
if file == "":
raise FileNotFoundError
else:
try:
self.tree = ElementTree(file=self.file)
except ParseError:
try:
self.tree = ElementTree(file='./resources/测试精华(这是标题)1.mscx')
except FileNotFoundError:
raise ParseError("老板你这xml有问题啊")
tree = ElementTree(file='./resources/测试精华(这是标题)1.mscx')
self.xmlRoot = tree.getroot()
# print(self.xmlRoot)
# self.musescoreV = self.xmlRoot.attrib
# print(type(self.xmlRoot.attrib))
orderPass = False
partMode = False
for ele in tree.iter():
print(ele.tag, ele.attrib, ele.text)
if ele.tag == "programVersion":
self.musescore_programVersion = ele.text
if ele.tag == "programRevision":
self.musescore_programRevision = ele.text
if ele.tag == "score":
self.musescore_scoreTag = []
if ele.tag == "Order":
orderPass = True
if orderPass:
if ele.tag == "name" or ele.tag == "family" or ele.tag == "instrument" or ele.tag == "section" or \
ele.tag == "unsorted":
pass
else:
print(ele.tag)
if ele.tag == "Part":
orderPass = False
part = []
partMode = True
if partMode:
if ele.tag == "Staff":
part.append([ele.attrib])
print(part)
if ele.tag == "Staff":
pass
# def check(self):
# print()
# if __name__ == '__main__':
# score = Score()
# score.load('./resources/测试精华(这是标题)1.mscx')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。