ファイルから行ごとに読み取る必要があります。また、エンコーディングが正しく処理されていることを確認する必要もあります。
次のコードを書きました。
#!/bin/bash
import codecs
filename = "something.x10"
f = open(filename, 'r')
fEncoded = codecs.getreader("ISO-8859-15")(f)
totalLength = 0
for line in fEncoded:
totalLength+=len(line)
print("Total Length is "+totalLength)
このコードは、すべてのファイルで機能するわけではありません。
Traceback (most recent call last):
File "test.py", line 11, in <module>
for line in fEncoded:
File "/usr/lib/python3.2/codecs.py", line 623, in __next__
line = self.readline()
File "/usr/lib/python3.2/codecs.py", line 536, in readline
data = self.read(readsize, firstline=True)
File "/usr/lib/python3.2/codecs.py", line 480, in read
data = self.bytebuffer + newdata
TypeError: can't concat bytes to str
私はpython 3.3を使用しており、スクリプトはこのpythonバージョンで動作する必要があります。
私は何を間違っていますか、どのファイルが機能し、どのファイルが機能しないかを見つけることができませんでした。一部のプレーンASCIIファイルでさえ失敗します。