日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用状态机STATE MACHINE实现有选择的文件转换

發(fā)布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用状态机STATE MACHINE实现有选择的文件转换 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

用書上的例子實現(xiàn)在解析HTML文本時,對"<>"中的符號不進行字符轉(zhuǎn)換。

import sys import string from optparse import OptionParserCHAR_MAP = dict(zip(string.ascii_lowercase,string.ascii_lowercase[13:26] + string.ascii_lowercase[0:13]) )class RotateStream(object):"""General purpost ROT13 TranslatorA ROT13 translator smart enough to skipMarkup tags if that's what we want."""MARKUP_START = '<'MARKUP_END = '>'def __init__(self, skip_tags):self.skip_tags = skip_tagsdef rotate13_letter(self, letter):"""Return the 13-char rotation of a letter."""do_upper = Falseif letter.isupper():do_upper = Trueletter = letter.lower()if letter not in CHAR_MAP:return letterelse:letter = CHAR_MAP[letter]if do_upper:letter = letter.upper()return letterdef rotate_from_file(self,handle):"""Rotate from a file handle.Take a file-like object and translatestext file it into ROT13"""state_markup = Falsefor line in handle:for char in line:if self.skip_tags:if state_markup:#here we're looking for a closing '>'if char == self.MARKUP_END:state_markup = False#char = charelse:#Not in a markup state, rotate#unless we're starting a new tagif char == self.MARKUP_START:state_markup = Trueelse:char = self.rotate13_letter(char)else:char = self.rotate13_letter(char)#Make this a generatoryield charif __name__ == '__main__':parser = OptionParser()parser.add_option('-t', '--tags', dest = "tags",help = "Ignore Markup Tags", default = False,action = "store_true")options, args = parser.parse_args()print("options tags is ", options.tags)rot = RotateStream(options.tags)for letter in rot.rotate_from_file(sys.stdin):sys.stdout.write(letter)

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的用状态机STATE MACHINE实现有选择的文件转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。