2016-07-08 4 views
1

これが問題です。私はzipでファイルを読むことで始まるプログラムを作る必要があります。そのファイルでは、次に読むべき.txtファイルの名前を見つけるでしょう。それに続いて、コンテンツを印刷するだけです。ファイルのコメントを行順に並べると、Python

すべてのファイルを読み込んだ後、読み込まれたすべてのファイルのコメントを印刷するプログラムが必要なので、それはおそらくアスキーアートを印刷するでしょう。

私には問題があります。私がやったことは、リスト中のループの間にすべてのコメントを追加し、最後にリストを文字列にマップして結合することです。

この

は私のコードです:

import zipfile 
import re 

nothing_var = "90052" 
text = ".txt" 
list_files = [] 
list_comments = [] 

with zipfile.ZipFile("channel.zip") as file: 
    count = len(file.infolist()) - 1 
    for var1 in range(count): 
     list_comments.append(file.getinfo(str(nothing_var) + ".txt").comment) 
     with file.open(str(nothing_var) + ".txt") as archive: 
      for line in archive: 
       if re.search("\d+", str(line)): 
        nothing_var = re.findall("\d+", str(line)) 
        nothing_var = "".join(nothing_var) 
        list_files.append(nothing_var) 
       else: 
        print(line) 

list_comments = list(map(str, list_comments)) 

print("".join(list_comments)) 

そして、これは私が手に出力されます:最初の行はの内容である

(完全な出力を書き込むために申し訳ありませんが)

b'Collect the comments.' 
b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'\n'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'X'b'X'b' 'b' 'b' 'b' 'b' 'b' 'b'Y'b'Y'b'Y'b'Y'b' 'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b'E'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b'X'b'X'b'X'b'X'b'X'b'X'b' 'b' 'b' 'b'Y'b'Y'b'Y'b'Y'b'Y'b'Y'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b'E'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b'X'b'X'b'X'b' 'b' 'b'X'b'X'b'X'b' 'b'Y'b'Y'b'Y'b' 'b' 'b' 'b'Y'b'Y'b' 'b' 'b'G'b'G'b' 'b'G'b'G'b' 'b' 'b' 'b' 'b' 'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b'O'b'O'b'O'b'O'b'O'b'O'b' 'b'X'b'X'b' 'b' 'b' 'b' 'b'X'b'X'b' 'b'Y'b'Y'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'G'b'G'b'G'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b'O'b'O'b'O'b'O'b'O'b'O'b' 'b'X'b'X'b' 'b' 'b' 'b' 'b'X'b'X'b' 'b'Y'b'Y'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'G'b'G'b'G'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b'X'b'X'b'X'b' 'b' 'b'X'b'X'b'X'b' 'b'Y'b'Y'b'Y'b' 'b' 'b' 'b'Y'b'Y'b' 'b' 'b'G'b'G'b' 'b'G'b'G'b' 'b' 'b' 'b' 'b' 'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b'X'b'X'b'X'b'X'b'X'b'X'b' 'b' 'b' 'b'Y'b'Y'b'Y'b'Y'b'Y'b'Y'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'O'b'O'b' 'b' 'b' 'b' 'b'X'b'X'b' 'b' 'b' 'b' 'b' 'b' 'b'Y'b'Y'b'Y'b'Y'b' 'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b' 'b' 'b'G'b'G'b' 'b' 'b'E'b'E'b'E'b'E'b'E'b'E'b' 'b' 'b' 'b' 'b' 'b'N'b'N'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b' 'b'*'b'*'b'\n'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'\n'b' 'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'*'b'\n' 

最後に読み込まれたファイルは正常です。

私が望むのは、各コメントから文字、記号、またはスペースを間に入れてb ''を取り除くことです。そして出力に\ nがあるたびにコメントを出力します。

答えて

0

b'...'の前には、文字列がバイト文字列であることを示します。完全に私の問題を修正し

>>> b"abcde".decode("utf-8") 
'abcde' 
+0

:あなたは、文字列を生成するために、それをデコードする必要があります。ありがとうございました – JPYamamoto

関連する問題