def
main
():maxwidth = 100
#用於規範字段的長度
print_start()
count=0
while
true:
try:
line =input()
if count == 0:
color = 'lightgreen'
elif count % 2: #取餘
color = 'white'
else:
color = 'lightyellow'
print_line(line,color,maxwidth)
count += 1
except eoferror:
break
print_end()
maxwidth 用於規範字段的長度,一旦比這個長度長的字段,我們可以通過用省略號來替代後面的內容
count 用於對檔案中的顏色的改變,斑馬紋的實現。
上面的**中的print_start(),print_line(),print_end()三個函式是我們自己的設定的函式,**在後面
print_start() 函式用於輸入開頭
print_end() 函式用於輸入結尾
print_line() 將該行以html的形式輸出
def
print_start
():print("")
#用於檔案的開始頭拼接
def
print_end
():print("")
#用於檔案的結尾拼接
上面兩個是用來減少函式之間的關聯性,雖然在函式中新增print(…)也可以,
但是這樣可以更加規範,以後修改也比較容易,對之後的運維提供極大的方便,
通過修改函式,可以將所有的頭尾一起修改。
def
print_line
(line,color,maxwidth):
print("".format(color))
fields = extrace_fields(line)
for field in fields:
ifnot field:
print("")
else:
number = field.replace(",","")
#這裡把」,「改成」「的意義是為了將數值1,000轉換為1000的格式
try:
x = float(number)
print("33".format(round(x)))
except valueerror:
field =field.title()
'''用於注釋
title函式是用來將字串的首字母大寫處理
str = "this is string example from runoob....wow!!!"
請注意,非字母後的第乙個字母將轉換為大寫字母:
txt = "hello b2b2b2 and 3g3g3g"
print(txt.title()) #hello b2b2b2 and 3g3g3g
'''field = field.replace('and','and')
if len(field) <= maxwidth:
field = escape_html(field)
else:
field = "...".format(
escape_html(field[:maxwidth]))
print("".format(field))
print("")
這段程式是將通過for遍歷檔案,提取出裡面的值,將裡面的值進行規範化 然後通過需要的html格式通過format拼接,最後顯示出來。
通過try的異常捕捉,我們可以將檔案中的數字與字串分開處理,數字通過flaot進行小數格式化,字串通過title格式化
這又體現了python語言通過try捕獲異常的靈活性
為什麼不再讀取的時候直接通過replace進行分割字串?
因為這是為了防止出現,分號中間有」,「 使檔案不正確分割,導致程式出現錯誤,所以,我們要在print_line中在進行分割,減少錯誤的產生
extrace_fields(line)是自定義函式,函式的作用是將字段串進行分割
def
extrace_fields
(line):
fields =
field = ''
quote = none
for c in line:
if c in
"\"":
if quote is
none: #start of quoted string
quote = c
elif quote == c: #end of quoted string
quote = none
else:
field += c #other quote inside quoted string
continue
if quote is
none
and c == ",": #end of a field
else:
field += c #accumulating a field
return fields
def
escape_html
(text):
text = text.replace('&','&')
text = text.replace('<',"<")
text = text.replace(">",">")
return text
通過替換函式將'<','>'替換成html可識別的實體字元,不替換的話 html會將'<','>'大於小於符號識別為尖括號<>
xml字串轉物件xml檔案轉物件
判斷是否是ie瀏覽器和非ie瀏覽器的方法有多種,在此只介紹用例中的方法 1 解析xml字串,得到xml物件的方式 function createxml str else 2 解析xml檔案,將其轉換為xml物件的方式 js view plain copy axmlfilename是xml檔案路徑名 ...
使用python將xml檔案解析成html檔案
功能就是題目所述,我的python2.7,裝在windows環境,我使用的開發工具是wingide 6.0 1首先是我設計的簡單的乙個xml檔案,也就是用來解析的原始檔 下面是這個檔案website.xml內容 this is a moment 解釋 page就是對應乙個html檔案,這裡有兩個pa...
通過shell解析xml檔案
背景 有如下xml檔案,需要通過shell得到每乙個filename中的值 aa.xml 實現 aaa.txtfilename 25684256filesize bbb.txtfilename 25684256filesize ccc.txtfilename 25684256filesize ddd...