Pythonはtxtファイルをバッチ操作し、その内容を変更します

タスク要件

多数の小説のURLをtxt形式で削除する

ソリューション:

ディレクトリ内のすべてのファイルを一覧表示します

ファイルを読む

ファイル内のURLを置き換えます(すべての中国の小説、英語は直接置き換えることができます)

新しいファイルを書く

古いファイルを削除する

ソースコード

import re
import os
txtlist=os.listdir("C:\\Users\SAMSUNG\PycharmProjects\LoadBaiDu\\txt\\novel") #列出目录下的全部文件
for d in txtlist:
    if(d.endswith("t")):
        file=open("novel\\"+d,"r",encoding="gbk",errors="ignore") #编码问题
        file1=open("novel\\ "+d,"w")
        for i in file.readlines():
            file1.write(re.sub(r"[a-zA-z]","",i)) #正则表达式匹配字母
        file1.close()
        file.close()
        print(d)
        os.remove("novel\\"+d)

問題が解決しました

pythonを使用すると、テキストのエンコードとデコードの問題が頻繁に発生します。非常に一般的なデコードエラーがタイトルに示されています。このエラーの解決策を以下に示します。「gbk」を「utf-8」に置き換えることもできます。
(1)まず、テキストを開くときに、次のようにエンコード形式を設定します。open
'1.txt'、encoding = 'gbk'); (2)。(1)が解決できない場合、テキストに表示されることがあります。一部の特殊なシンボルはgbkのエンコード範囲を超えています。たとえば、open( '1.txt'、encoding = 'gb18030');
(3)、(2)がまだ解決できない場合は、より広いエンコード範囲 'gb18030'を選択できます。テキストには、「gb18030」でもエンコードできない文字があります。これは、「ignore」属性を使用して無視できます。たとえば、open( '1.txt'、encoding = 'gb18030'、errors = 'ignore');
(4)、もう1つの一般的な解決策は、open( '1.txt')。read()。decode( 'gb18030'、 'ignore')です。

おすすめ

転載: blog.csdn.net/skylibiao/article/details/103465795