0

2 つのフォルダーがあり、各フォルダーには 196 個のファイルが含まれており、すべて ( '\xae\xae\xb4\x9e\x8f\x9f\xba\xc1\xd5\xbd\xcd\xa1\xb7\') 形式です。このデータを読み込んで、人間が読める形式に変換しようとしています。2つのフォルダの両方のファイルのデータを結合したい。

関数を使用してこれをord()試しましたが、期待される出力で単一のファイルを取得しようとすると、間違った値が得られます。読み取りの最初の要素を抽出しようとしましたが、取得している出力はすべてのファイルの値です。ここに私のコードがあります:

for file_name, files in izip(list_of_files, list_of_filesO):
     fi = open(file_name,"r").read()
     fo = open(files,"r").read()
     f =  [open("/home/vidula/Desktop/project/ori_tri/input_%i.data" %i,'w')for i in range(len(list_of_files))]
     read = [ord(i) for i in fi]
     reado = [ord(i) for i in fo]
     zipped = zip (read,reado)
     print read[0]

期待される出力:

125,25
36,54
98,36
78,56

期待していただきありがとうございます。

4

1 に答える 1

0
[ord(i) for i in fi]

ファイルを反復すると、ファイルの行が反復されます。一度に文字を繰り返したいようです。そのためには、read各ファイルを単一のチャンクとして明示的に ing してから、結果の文字列を反復処理することができます。

ファイルの内容全体をメモリに保存したくない場合は、次のようなカスタム イテレータを作成してみてください。

def each_char_of(a_file):
    while True:
        x = a_file.read(1)
        if not x: return
        yield x
于 2012-12-07T07:27:18.117 に答える