1

わかりました、基本的な python の質問です。html(txt) ファイルのテキストを置き換える簡単なスクリプトがあります。私はいくつかのコードを書き、置き換えたいxhtmlコーディングを含むいくつかの改行htmlを入れたので、xhtmlコーディングバージョンを通常の改行htmlに置き換えるPythonスクリプトを作成しようとしました。コードを実行すると正常に動作することもありますが、ファイルが書き換えられることもあり、最後に改行の後に最後の 2 文字が繰り返されます。問題があれば、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 をエディターとして使用します。何か助けはありますか?

4

1 に答える 1

1

ファイルの内容を短縮していますが、ファイルの長さは短縮していません。.truncate()閉じる前に忘れずに。

于 2012-06-02T05:54:40.693 に答える