1

なんらかの理由で、ファイルにテキストを追加しようとすると、多くの - 私が信じている - アジアの文字が代わりに追加されます。

これが私のコードです:

with open(rutaCuentasCFG+'cuentas.cfg', 'r') as file:
    contFile = file.readlines()

cantidadCuentas = len(contFile)

with open('C:\Sandboxie.ini', 'a', encoding='utf-8') as file:
    for cont in range(1,len(contFile)+1):
        config = ['\n','\n'+'[steam'+str(cont)+']'+'\n',
                  '\n',
                  'Enabled=y'+'\n',
                  'ConfigLevel=7'+'\n',
                  'AutoRecover=y'+'\n',
                  'Template=BlockPorts'+'\n',
                  'Template=LingerPrograms'+'\n',
                  'Template=Firefox_Phishing_DirectAccess'+'\n',
                  'Template=AutoRecoverIgnore'+'\n',
                  'RecoverFolder=%{374DE290-123F-4565-9164-39C4925E467B}%'+'\n',
                  'RecoverFolder=%Personal%'+'\n',
                  'RecoverFolder=%Favorites%'+'\n',
                  'RecoverFolder=%Desktop%'+'\n',
                  'BorderColor=#00FFFF,ttl'+'\n',
                  'OpenPipePath='+rutaSteamIdle+'\\SteamIdle\\']
        for line in config:
            file.write(line)

これは私が得ている結果です: http://puu.sh/4f6y5.png

そして、これは私が取得する必要があるものです: http://puu.sh/4f6CE.png

同じ結果でエンコーディングを指定せずに試しました。

4

1 に答える 1

1

元のファイルは別のエンコーディングです。そのエンコーディングを使用するようにコードを変更してください。

エンコーディングを確認するには、メモ帳でファイルを開き、[ファイル] > [名前を付けて保存... ] をクリックして、デフォルトのエンコーディングを確認します。「Unicode」は UTF-16 を意味します。

于 2013-08-31T00:56:54.703 に答える