好的,这是基本的python问题。我有一个简单的脚本来替换 html(txt) 文件上的文本。我写了一些代码并放入了一些我想替换的具有 xhtml 编码的换行 html,所以我尝试编写一个 python 脚本来用常规换行 html 替换 xhtml 编码版本。有时当我运行代码时,它可以正常工作,但有时它会重写文件,最后最后两个字符在换行符后重复。如果这很重要,我在 OS X Lion 上运行 2.7。这是代码:
import sys
import re
def replace_text(filename):
with open(filename, 'r+') as f:
p = re.compile( '(</br>|<br/>|<br />)')
f_data = open(filename, 'r+').read()
f.write(p.sub('<br>', f_data))
f.close()
def main():
args = sys.argv[1:]
if not args:
print 'usage: [--summaryfile] file [file ...]'
sys.exit(1)
summary = False
if args[0] == '--summaryfile':
summary = Trye
del args[0]
for filename in args:
replace_text(filename)
if __name__ == '__main__':
main()
因此,当我使用包含以下内容的文件(例如“foo.txt”)运行它时:
</br> <br/> <br /> <br> poop
有时它会输出:
<br> <br> <br> <br> poop
有时它会输出:
<br> <br> <br> <br> poop
op
嗯?在 python 2.7 中使用 OS X Lion。我错过了一些简单的东西?还使用 Gedit 3.2.6 作为编辑器。有什么帮助吗?