在一行上组合并打印不同的变量
Posted
技术标签:
【中文标题】在一行上组合并打印不同的变量【英文标题】:combine and print different variables on one line 【发布时间】:2021-12-19 22:35:25 【问题描述】:我正在 Python 3 上制作一个简单的脚本。 我有一个用户名、颜色和数字的列表。 它们中的每一个都由 .txt 文件中的行分隔,如下所示:
文件图片:
这是代码:
user = open('user.txt', 'r').readlines()
color = open('color.txt', 'r').readlines()
number = open('number.txt', 'r').readlines()
for u in user:
for c in color:
for n in number:
generated = u+c+n
print(generated)
open('generated.txt', 'a+').write(generated)
前 100 个输出: https://pastebin.com/Dc07ApbL
但我想要这样的东西:
solvethisproblem_userwhite1
solvethisproblem_userwhite2
solvethisproblem_userwhite3
solvethisproblem_userwhite4
solvethisproblem_userwhite5
solvethisproblem_userwhite6
solvethisproblem_userwhite7
solvethisproblem_userwhite8
solvethisproblem_userwhite9
solvethisproblem_userwhite10
solvethisproblem_userblack1
solvethisproblem_userblack2
solvethisproblem_userblack3
solvethisproblem_userblack4
solvethisproblem_userblack5
solvethisproblem_userblack6
solvethisproblem_userblack7
solvethisproblem_userblack8
solvethisproblem_userblack9
solvethisproblem_userblack10
solvethisproblem_useryellow1
solvethisproblem_useryellow2
solvethisproblem_useryellow3
【问题讨论】:
您需要strip
以您从文件中读取的值结尾的行。
【参考方案1】:
使用str.rstrip
可以去掉字符串末尾的换行符和任何空格:
generated = ''.join(map(str.rstrip, [u, c, n]))
【讨论】:
【参考方案2】:简单替换
user = open('user.txt', 'r').readlines()
color = open('color.txt', 'r').readlines()
number = open('number.txt', 'r').readlines()
与
user = open('user.txt', 'r').read().splitlines()
color = open('color.txt', 'r').read().splitlines()
number = open('number.txt', 'r').read().splitlines()
并将generated = u + c + n
替换为generated = u + c + n + "\n"
。
str.splitlines()
方法删除了会导致换行符的\n
字符。
但请注意,最好使用 with
关键字打开文件:
with open('user.txt') as u, open('color.txt') as c, open('number.txt') as n:
user = u.read().splitlines()
color = c.read().splitlines()
number = n.read().splitlines()
【讨论】:
以上是关于在一行上组合并打印不同的变量的主要内容,如果未能解决你的问题,请参考以下文章