最初の書き込み時にテキストファイルを上書きしてから、それに追加します-Python

user3164083

ファイルへの最初の書き込みではファイルを上書きする必要があり、次にファイルに追加する必要があります。しかし、どの書き込みが最初になるかを知る方法はありません。私の書き込みは条件文にあります。これが私が持っているものです:

class MyHTMLParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.strict = False
        self.indent = " "
        self.pos = 0
        self.output_file = 'output_sass.txt'

    def handle_starttag(self, tag, attrs):
        if attrs != []:
            for attr in attrs:
                if ('id' in attr):
                    id = attr.index('id')
                    with open(self.output_file, 'w') as the_file:
                        the_file.writelines(self.indent * self.getpos()[1] + '#' + attr[id+1] + ' {' +'\n')
##                    print (self.indent * self.getpos()[1] + "#" + attr[id+1] + " {")
                    self.pos = self.getpos()[1]
                    break
                elif ('class' in attr):
                    clas = attr.index('class')
                    with open(self.output_file, 'w') as the_file:
                        the_file.writelines(self.indent * self.getpos()[1] + "." + attr[clas+1] + " {"+'\n')
##                    print (self.indent * self.getpos()[1] + "." + attr[clas+1] + " {")
                    self.pos = self.getpos()[1]
                    break
                else:
                    with open(self.output_file, 'w') as the_file:
                        the_file.writelines(self.indent * self.getpos()[1] + tag + " {"+'\n')
##                    print (self.indent * self.getpos()[1] + tag + " {")
                    self.pos = self.getpos()[1]
                    break
        else:
           with open(self.output_file, 'w') as the_file:
                the_file.writelines(self.indent * self.getpos()[1] + tag + " {"+'\n')
##            print (self.indent * self.getpos()[1] + tag + " {")
                self.pos = self.getpos()[1]

    def handle_endtag(self, tag):
        with open(self.output_file, 'w') as the_file:
            the_file.writelines(self.indent * self.pos + "}"+'\n')
##        print(self.indent * self.pos + "}")
簡単

いくつかの変数first_write = Trueを使用して、すべての場所でそれを確認してください。次に、に変更しFalseます。

または、データをリストに入れて、最後に1回だけ書き込みます。

もちろん、書き込み用にファイルを最初に1回開いて(前のファイルを削除して)、最後に閉じることもできます。

、あなたは開いているファイルを持って__init__いてself.the_file = open(self.output_file, 'w')、あなたはすべてのクラスでそれにアクセスすることができます。ファイルを閉じるプログラムがいつ終了するかだけではありませんself.the_file.close()HTMLParserには、データの最後に呼び出される関数があるかもしれません。

HTMLParser.close()を参照してください-ファイルを閉じるのに適した場所のようです。それを上書きし、おそらくclose()元のクラスから呼び出す必要がありますHTMLParser

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PDFから(textractを使用して)抽出したテキストをPythonのdocxファイルにどのように書き込みますか

分類Dev

Pythonで入力を取得して、テキストファイルに複数行を書き込みますか?

分類Dev

新しい行のPythonでtxtファイルにテキストを書き込みますか?

分類Dev

Pythonを使用してファイルを読み取り、それを複数のテキストファイルに完全に書き込む方法は?

分類Dev

Python-re.findallから\ nを使用してリストをテキストファイルに書き込みます

分類Dev

Python:-テキストファイルを読み取り、大文字に変換して2番目のファイルに書き込みます

分類Dev

Pythonでテキストファイルからデータを抽出し、新しいファイルに書き込みます

分類Dev

Pythonスクリプトを使用して、スクレイピングされたデータをテキストファイルに書き込みます

分類Dev

Pythonのソースファイル内の基準に基づいて追加テキストを使用してファイルを新しいファイルに書き込みます

分類Dev

テキストファイルから一連の数字を読み取り、Pythonを使用して新しい行に書き込む方法は?

分類Dev

テキストPythonを使用してファイルから別のファイルにテキストを書き込む

分類Dev

長時間実行されるPythonスクリプトですべてのアイテムをファイルに書き込みますか?

分類Dev

Pythonはzipをテキストファイルに書き込みます

分類Dev

Pythonを使用してテキストファイルに辞書のリストを書き込む

分類Dev

Pythonはテキストファイルから単語を取得し、sqlite3データベースに書き込みます

分類Dev

Pythonキーワードを含む行テキストをファイルに書き込みますか?

分類Dev

Pythonで改行を追加するのではなく、ファイルに書き込みながら\ nをそのままにしておくにはどうすればよいですか?

分類Dev

ファイルからリストに値を追加するときのpython。そのリストの最初の列のみを追加します

分類Dev

Pythonがラテン文字拡張Aから文字を書き込まないのはなぜですか(ファイルへの書き込み時にUnicodeEncodeError)?

分類Dev

Pythonのテキストファイルにコピーされたデータを書き込もうとしています

分類Dev

Pythonでテキストファイルの読み取りと書き込みを同時に行う方法は?

分類Dev

新しいテキストファイルに記録するPythonの書き込み

分類Dev

Pythonのリストを使用して特定の方法でテキストファイルに書き込む

分類Dev

Pythonで特定の期間に書き込まれたテキストファイルからデータを読み取る

分類Dev

(奇妙にデリメートされた)txtファイルから行を抽出し、Pythonで新しいファイルに書き込みます

分類Dev

Pythonを使用してテキストファイルから特定のデータを抽出し、CSVに書き込む方法

分類Dev

列を考慮してPythonでテキストファイルをcsvに書き込むにはどうすればよいですか?

分類Dev

Python を使用して csv ファイルの出力を読み取り、テキスト ファイルに書き込む

分類Dev

Pythonを使用してテキストファイルに複数行の文字列を書き込む

Related 関連記事

  1. 1

    PDFから(textractを使用して)抽出したテキストをPythonのdocxファイルにどのように書き込みますか

  2. 2

    Pythonで入力を取得して、テキストファイルに複数行を書き込みますか?

  3. 3

    新しい行のPythonでtxtファイルにテキストを書き込みますか?

  4. 4

    Pythonを使用してファイルを読み取り、それを複数のテキストファイルに完全に書き込む方法は?

  5. 5

    Python-re.findallから\ nを使用してリストをテキストファイルに書き込みます

  6. 6

    Python:-テキストファイルを読み取り、大文字に変換して2番目のファイルに書き込みます

  7. 7

    Pythonでテキストファイルからデータを抽出し、新しいファイルに書き込みます

  8. 8

    Pythonスクリプトを使用して、スクレイピングされたデータをテキストファイルに書き込みます

  9. 9

    Pythonのソースファイル内の基準に基づいて追加テキストを使用してファイルを新しいファイルに書き込みます

  10. 10

    テキストファイルから一連の数字を読み取り、Pythonを使用して新しい行に書き込む方法は?

  11. 11

    テキストPythonを使用してファイルから別のファイルにテキストを書き込む

  12. 12

    長時間実行されるPythonスクリプトですべてのアイテムをファイルに書き込みますか?

  13. 13

    Pythonはzipをテキストファイルに書き込みます

  14. 14

    Pythonを使用してテキストファイルに辞書のリストを書き込む

  15. 15

    Pythonはテキストファイルから単語を取得し、sqlite3データベースに書き込みます

  16. 16

    Pythonキーワードを含む行テキストをファイルに書き込みますか?

  17. 17

    Pythonで改行を追加するのではなく、ファイルに書き込みながら\ nをそのままにしておくにはどうすればよいですか?

  18. 18

    ファイルからリストに値を追加するときのpython。そのリストの最初の列のみを追加します

  19. 19

    Pythonがラテン文字拡張Aから文字を書き込まないのはなぜですか(ファイルへの書き込み時にUnicodeEncodeError)?

  20. 20

    Pythonのテキストファイルにコピーされたデータを書き込もうとしています

  21. 21

    Pythonでテキストファイルの読み取りと書き込みを同時に行う方法は?

  22. 22

    新しいテキストファイルに記録するPythonの書き込み

  23. 23

    Pythonのリストを使用して特定の方法でテキストファイルに書き込む

  24. 24

    Pythonで特定の期間に書き込まれたテキストファイルからデータを読み取る

  25. 25

    (奇妙にデリメートされた)txtファイルから行を抽出し、Pythonで新しいファイルに書き込みます

  26. 26

    Pythonを使用してテキストファイルから特定のデータを抽出し、CSVに書き込む方法

  27. 27

    列を考慮してPythonでテキストファイルをcsvに書き込むにはどうすればよいですか?

  28. 28

    Python を使用して csv ファイルの出力を読み取り、テキスト ファイルに書き込む

  29. 29

    Pythonを使用してテキストファイルに複数行の文字列を書き込む

ホットタグ

アーカイブ