#!/usr/bin/env python
# -*- coding: utf-8 -*-
try:
import xml.etree.celementtree as et
except importerror:
import xml.etree.elementtree as et
import os, re, sys
defalign_chinese
(menu_label)
: m_lb_spl = menu_label.split(
'|')
iflen
(m_lb_spl)==1
:return menu_label
m_pre, m_suff = m_lb_spl[0]
,'|'
.join(m_lb_spl[1:
])c_vsn = sys.version #根據不同的python版本,做不通的處理
if re.search(
'2.7'
, c_vsn, re.i)
:print
("python 2: {}"
.format
(c_vsn)
) n_lb = u"<15}|"
.format
(m_pre, m_suff, md=
unichr
(12288))
return
(n_lb)
elif re.search(
'3.'
, c_vsn, re.i)
:print
("python 3: {}"
.format
(c_vsn)
) n_lb =
"<15}|"
.format
(m_pre, m_suff, md=
chr(
12288))
return
(n_lb)
if __name__ ==
"__main__"
: file_path = __file__
xmlf=os.path.normpath(os.path.join(os.path.dirname(file_path)
,'menu_deploy_simp.xml'))
tree = et.elementtree(
file
=xmlf)
root = tree.getroot(
)for m in root:
m_lb = m.get(
'label')if
not m_lb:
continue
ret_new_label = align_chinese(m_lb)
print
(ret_new_label)
xml
<?xml version=
"1.0" encoding=
"utf-8"?>
<
!-- newline="~n" qoutation mark="~s" -->
"main menu"
>
"前期工具|prophase tools ..."
>
<
/menu>
"設定繫結工具|rig tools..."
>
<
/menu>
"動畫工具|animation tools"
>
<
/menu>
"燈光渲染工具|lighting rendering|other..."
>
<
/menu>
<
/menu>
在python2 和 pyhon3 下執行的結果
d:\anaconda3\envs\py2\envs\oct\python.exe f:/development/oct/maya_dev/python2/oct2g_menu/read_xml_test.py
python 2: 2.7.17 (default, oct 28 2019, 21:35:07)
[msc v.1500 64 bit (amd64)]
前期工具 |prophase tools ...
python 2: 2.7.17 (default, oct 28 2019, 21:35:07)
[msc v.1500 64 bit (amd64)]
設定繫結工具 |rig tools...
python 2: 2.7.17 (default, oct 28 2019, 21:35:07)
[msc v.1500 64 bit (amd64)]
動畫工具 |animation tools
python 2: 2.7.17 (default, oct 28 2019, 21:35:07)
[msc v.1500 64 bit (amd64)]
燈光渲染工具 |lighting rendering|other...
process finished with exit code 0
d:\anaconda3\envs\myproj\python.exe f:/development/oct/maya_dev/python2/oct2g_menu/read_xml_test.py
python 3: 3.7.6 (default, jan 8 2020, 20:23:39)
[msc v.1916 64 bit (amd64)]
前期工具 |prophase tools ...
python 3: 3.7.6 (default, jan 8 2020, 20:23:39)
[msc v.1916 64 bit (amd64)]
設定繫結工具 |rig tools...
python 3: 3.7.6 (default, jan 8 2020, 20:23:39)
[msc v.1916 64 bit (amd64)]
動畫工具 |animation tools
python 3: 3.7.6 (default, jan 8 2020, 20:23:39)
[msc v.1916 64 bit (amd64)]
燈光渲染工具 |lighting rendering|other...
process finished with exit code 0
Python format函式詳解
python從2.6開始支援format,新的更加容易讀懂的字串格式化方法,從原來的 模式變成新的可讀性更強的 花括號宣告 用於渲染前的引數引用宣告,花括號裡可以用數字代表引用引數的序號,或者 變數名直接引用。從format引數引入的變數名 冒號 字元位數宣告 空白自動填補符 的宣告 千分位的宣告 ...
python format格式輸出
內容摘自 相對基本格式化輸出採用 的方法,format 功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 1 不帶編號,即 2 帶數字編號,可調換順序,即 3 帶關鍵字,即 1 print format hello world 不帶字段 2 hello...
python format 用法詳解
str.format 這個特性從python2.6而來 其實實現的效果和 有些類似 不過有些地方更方便 通過位置對映 in 1 format kzc 18 out 1 kzc,18 in 2 format kzc 18 注意python2.6並不支援寫為空 out 2 kzc,18 in 3 for...