Python3從零學習(七)
阿新 • • 發佈:2018-11-05
movies.xmlimport json data = {'no' : 1, 'name' : 'Runoob', 'url' : 'https://www.baidu.com' } json_str = json.dumps(data) print("JSON物件:",json_str) datas = json.loads(json_str) print("no:",datas['name']) print("name",datas['url']) #寫json檔案 with open('data.json','w') as f: json.dump(data,f) #讀json資料 with open('data.json','r') as f: data = json.load(f) print(data)
<collection shelf="New Arrivals"> <movie title="Enemy Behind"> <type>War, Thriller</type> <format>DVD</format> <year>2003</year> <rating>PG</rating> <stars>10</stars> <description>Talk about a US-Japan war</description> </movie> <movie title="Transformers"> <type>Anime, Science Fiction</type> <format>DVD</format> <year>1989</year> <rating>R</rating> <stars>8</stars> <description>A schientific fiction</description> </movie> <movie title="Trigun"> <type>Anime, Action</type> <format>DVD</format> <episodes>4</episodes> <rating>PG</rating> <stars>10</stars> <description>Vash the Stampede!</description> </movie> <movie title="Ishtar"> <type>Comedy</type> <format>VHS</format> <rating>PG</rating> <stars>2</stars> <description>Viewable boredom</description> </movie> </collection>
import xml.sax class MovieHandler(xml.sax.ContentHandler): def __init__(self): self.CurrentData = "" self.type = "" self.format = "" self.year = "" self.rating = "" self.stars = "" self.description = "" def startElement(self, name, attrs): self.CurrentData = name if name == "movie": print("-----------") title = attrs["title"] print("Tiele:",title) def endElement(self, name): if self.CurrentData == "type": print("Type:",self.type) elif self.CurrentData == "format": print("Format:",self.format) elif self.CurrentData == "year": print("Year:",self.year) elif self.CurrentData == "rating": print("Rating:", self.rating) elif self.CurrentData == "stars": print("Stars:", self.stars) elif self.CurrentData == "description": print("Description:", self.description) self.CurrentData = "" def characters(self, content): if self.CurrentData == "type": self.type = content elif self.CurrentData == "format": self.format = content elif self.CurrentData == "year": self.year = content elif self.CurrentData == "rating": self.rating = content elif self.CurrentData == "stars": self.stars = content elif self.CurrentData == "description": self.description = content if (__name__ == "__main__"): # 建立一個 XMLReader parser = xml.sax.make_parser() # turn off namepsaces parser.setFeature(xml.sax.handler.feature_namespaces,0) # 重寫 ContextHandler Handler = MovieHandler() parser.setContentHandler(Handler) parser.parse("movies.xml")