[英]Print comments of files in a zip ordered in lines, Python
這就是事情。 我必須制作一個程序,該程序將首先讀取 zip 中的文件,在該文件中它將找到接下來要讀取的 .txt 文件的名稱,依此類推,直到到達一個沒有名稱的文件跟隨一個,所以它只是打印內容。
我做到了並且運行良好,但是,在它讀取所有文件后,我需要該程序打印讀取的每個文件的注釋,因此它應該會打印一個 ascii 藝術。
這就是我遇到麻煩的地方。 我所做的是將循環過程中的每一條評論附加到一個列表中,最后我將列表映射到一個字符串並加入它們。
這是我的代碼:
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 時將注釋打印成行,只是將它們分開。
字符前的b'...'
表示它是一個字節串。 您需要對其進行解碼以生成一個字符串:
>>> b"abcde".decode("utf-8")
'abcde'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.