您必须将每个文件中的文本拆分为行列表并使用
zip()
创建组
(file_1_line1, file_2_line1)
,
(file_1_line2, file_2_line2)
并将每组打印在一行中
W = """
# #
# # #
# # # #
## ##
# #
"""
E = """
#######
#
#######
#
#######
"""
all_lines_W = W.split('\n')
all_lines_E = E.split('\n')
for line_w, line_e in zip(all_lines_W, all_lines_E):
print(line_w, line_e)
结果:
# # #######
# # # #
# # # # #######
## ## #
# # #######
要获取更多字符/文件,可以使用列表,
for
-循环和
*args
W = """
# #
# # #
# # # #
## ##
# #
"""
E = """
#######
#
#######
#
#######
"""
text = [W, E, E, E, W, E, E]
text = [char.split('\n') for char in text]
for lines in zip(*text):
print(*lines)
结果:
# # ####### ####### ####### # # ####### #######
# # # # # # # # # # #
# # # # ####### ####### ####### # # # # ####### #######
## ## # # # ## ## # #
# # ####### ####### ####### # # ####### #######
这种类型的文本称为
banner
.
Linux甚至有特殊的程序在屏幕上显示横幅(或在打印机的长纸上打印)
也许你甚至可以找到Python模块来显示横幅。比如。
pyfiglet
编辑:
使用来自文件的数据的版本
from sys import argv, exit
if len(argv) < 2:
print("Missing command-line argument")
exit(1)
# --- read ---
text = []
for arg in argv[1:]:
with open(arg, "r") as f:
#text.append( f.read() )
text.append( f.read().split('\n') )
# --- print ---
#text = [char.split('\n') for char in text]
for lines in zip(*text):
print(*lines)
#print( " ".join(lines) )